Monenta 面经
-
一面 3.31 1h10min
1、介绍项目;学到了啥?讲一下
2、CAP理论,redis是实现了啥?
3、hash冲突、rehash,知道哪些地方用过rehash?
4、go map底层实现,怎么实现 rehash的
5、使用go遇到过什么比较坑的地方? channel 出现panic的避免方案
6、kafka 怎么保证数据一致性
7、GMP调度、抢占还是非抢占,实现?
8、go的内存管理
9、TCP拥塞控制
算法:nums数组,输出所有 a+b+c = 0 的不重复三元组
-
二面 4.6 1h30min
1、项目各种:支持什么类型、大对象怎么上传(分段,压缩)、元数据存储了啥(支不支持元数据查找)、大对象上传流程接口,数据分片冗余思想........
2、HTTP 实现没实现分段上传?HTTP状态码(分别说一个常见的)
3、GMP,网络请求过来之后,G和M的动作(G解绑)
4、redis持久化,AOF、RDB都存什么?AOF重写、阻塞问题、RDB一致性问题(copy on write)
5、redis数据类型、数据结构、Zset底层实现、跳表
6、锁是怎么实现的?(不是怎么使用的)
7、Go的sync的各种类,协同与控制(waitgroup、once、Mutex)
8、除了使用waitgroup,还能怎么实现协同?
9、channel 实现的话,用不用buffer,具体怎么实现?
10、进程与线程,线程怎么通信,实现同步互斥?
11、TCP/IP 七层协议,HTTP、TCP、IP分别在哪一层?
算法:树的最长直径(节点数)
12、为什么投我们公司?
13、什么时候能来实习?多久?接受哪里?