1.怎样才算网络负载高?
- 网卡流量么?
- 看网卡软中断
2.go如何做到保存现场,放弃执行权
- gopark
- 现场:gobuf
3.go的epoll_wait和原生的有什么区别
- runtime : sys_linux_amd64.s, runtime·epollwait
- syscall: zsyscall_linux_amd64.go, func EpollWait
4.在sync.Map中 例如 value 为 &struct {a int, b sync.RWLock}, 主流方式,new一个v,写好以后,Store回去, 但是如果 我更新value中的字段a时时,首先load(key), 得到), 全程都不做store,这样会是否会有问题
- v 并发不加锁读,就会有问题
- v := m.Load(“key”) ; fmt.Println(v) 这个程序就有问题
- 跑 -race test 就可以看出有没有问题了
5.读写序列化是代表保证读或者写的顺序么,咋保证的呢
- aaaaaa. bbbbbbbb
- write aaabbbbbbbbaaa
6.一个应用是不是只有一个pdesc,底下wg和rg分别挂了所有上下文的读写goroutine链表?
- 每一条连接都有一个 podesc
- 每一个 polldesc 上只能搞一个 wg 和一个 rg
7.讲一下 大小端的问题吧,整型数据要 大小端,字节流不要大小端,为什么。
8.滴滴的 php-fpm 如何做 服务发现的?是在php-fpm master进程上加了一个 线程实现的吗?
- dd 的服务发现体系和语言没关系
- agent <—- subscrbie —–> 服务依赖的服务
- /home/xxxxxxx/ep/subscribe/
- service_a.json : ip:port, ip2:port2
- fsnotify
- time.Tick <-> diff
- https://docs.microsoft.com/en-us/azure/architecture/patterns/sidecar
9.用http的连接池如果不活跃连接数多了是不是反而有坏处
- 连接池,作为 client 端,需要连接池;这个连接数再多也没多少
- server 端,连接数很多
10.一般一个web app,8c 16G,跑多大并发?qps。
- 8c 16G
- 长连接
- 连接数有多少
- 请求的包大小有多少
- hello world 应用,从 4 bytes —-> 1MB
- 外部依赖数有多少
- 一个上游
- 一百个上游
- 如果是个简单的查询服务
- redis —— 单机跑个一万 qps
- mysql —–
- 长连接
- 短连接
20.深入网络编程,一般往什么岗位方向
- 应用网络
- 有 nginx 开发岗位
21.想了解一下golang在游戏公司一般都做些什么?
- 也是做后端服务的
- 长连接
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 lihuanjie113@gmail.com