一面面试时长1h20min
1、学习路线和项目选型
2、拷打我的开源分布式项目(25min),master单点故障有考虑吗?如果有请求打到当前worker上了但worker宕机了怎么保证一个处理平滑?....一系列问题很深很杂。问为什么用grpc,grpc一次服务调用中间会经历什么?服务发现怎么做的?负载指标怎么设计的?有监控吗?数据存储的格式是怎么样的?定期拉取更新吗?
3、操作系统进程间通信方式?进程调度算法有哪些?怎么查找僵尸进程?多线程有了解吗?多线程会出现哪些问题?死锁怎么排查?
4、问我的消息队列项目,为什么选型选zookeeper?业务层如何保证消息不会被重复消费(接口幂等)?
5、mysql的事务特性?mysql为什么用B+树?慢查询怎么优化?写个SQL题:一张表table award(id,userId,name,age,gender,type,type,score),查找所有同名人的所有信息
写完说下思路,只用你所写的子查询语句可以做到吗?
6、go怎么实现并发?GMP可以没有P吗?mutex底层实现?
7、redis有实际用过吗?
8、写题:*******
讲思路,时间复杂度?有什么优化方法?
当天下午hr就打电话约了二面
二面leader面,面试时长45min
1、说一面面试官对我评价很好,问我感觉怎么样?对计算机很感兴趣?高中有接触过计算机吗?为什么选择go?java和go在执行层面有什么不同?我提了一嘴JVM,面试官问我具体了解JVM吗我说我只是知道个大概,就没多问。
2、go里的并发怎么保证?GMP说一下?为什么多协程和多线程相比多协程效率更好?
3、子网掩码255.255.252.0可以接入的机器数量?我说出计算公式时候问公式里为什么要-2?代表什么?
4、redis里的持久化方式
5、RESTful API知道吗?GET和POST区别?
6、HTTP和HTTPS在哪里多了什么?HTTPS握手过程?
7、操作系统用户线程空间大小是多少?为什么是4GB?为什么是2的32次方?32代表什么?
8、虚拟地址的作用?
9、对于操作系统分页有什么考虑?页过大或页过小会有什么问题?常见的页面置换算法?讲讲LRU的思路?
10、算法题:删除链表的倒数第N个节点
11、说我学习的深度和广度都挺不错的,后期的开发语言和期待岗位?有没有了解一些比较新的技术?是怎么学习的?
#字节面经##25届实习##牛客解忧铺#