阿里云golang一面
电话面试,约60min
1. 自我介绍
2. 对OOP的理解
3. OOP里多态和继承的概念
4. 如果是语言开发者,怎么去设计和实现多态和继承的特性
4.1 例如Python里一个子对象,覆盖了父对象,会发生什么操作
5. Go里goroutine和线程的区别 -> GMP模型
5.1 goroutine阻塞是会怎么做
5.2 M对应的goroutine运行完了,其他M还有G,会怎么做
6. Go的垃圾回收机制(与Python的区别)
6.1 循环引用,能否回收掉
7. Go会把新建的对象放到栈还是堆上
8. 前端请求的数据,没有收到对应的消息,怎么排查
8.1 前端收到的数据不符合预期,有时是乱码,怎么排查
9. A、B、C形成的联合索引,BC能否使用到索引
10. SQL查询非常慢,如何排查
10.1 如果是回表,怎么优化
11. 数据库遭受不住过高QPS,怎么办
12. 如何保证缓存和和数据库的一致性
13. Redis里哈希的实现
13.1 其他的哈希实现方式
13.2 Redis哈希的扩容过程
13.3 扩容会把程序给停止吗,还是说是一个多线程的方式
14. Redis单线程怎么支持那么高的并发
15. 最新版本Redis的优化特性
16. Redis分布式存储的底层通信协议
16.1 这种协议能保证强一致性吗
16.2 强一致性和非强一致性的区别
17. Kafka消费者数据积压,有碰到过吗
18. 命名空间有了解吗
19. 算法:LC 238. 除自身以外数组的乘积
#暑期实习##实习##golang#