先说一下个人的总体情况,西电大三计科,没有实习和太多实践经验(只有自己写的博客什么的),数据结构和算法还行,在滴滴前面过很多次字节,三次三面挂,好未来golang过了,还有许多中小厂就忘了,也没过。 总共也许接近二十次面试经历?滴滴的面试体验在我的个人经历里算是非常不错的,就是事后通知太慢,还是我自己去问的二面.... 二面都是三天前的事情了,所以可能忘了很多问题,不过还是给大家一个参考吧 一面数据库索引(答了聚簇索引和非聚簇索引) 非聚簇索引是如何查询的 隔离级别 RR是如何实现的(INNODB MVVC) 在RR级别下能够读到事务ID靠后未提交的修改吗(不会,提示说是锁,最后告诉我加写锁,建议我自己去试一试) 网络UDP,TCP TCP差错控制、流量控制,拥塞控制 HTTP(没答出3.0是啥) RESTful go切片和数组 切片的问题 go的通信实现 channel的底层 map的实现 哈希过程是什么样子的 桶的增加(这个具体还挺复杂的) map线程安全吗?sync.map gc过程 算法反向输出层序遍历(简单)反问: 什么部门? 二面网络get,post区别,post就不能在URL上附加参数吗(可以,http只是规范,服务端会解析你爱怎么样都行) 三次握手如果改成发序列号x,回序列号x+1,再发x+2可以吗?(序列号预测攻击) 数据库索引 给了实际问题是并发问题(忘了是啥) 如果有很多很多数据,分页显示,如何去做 联合索引 分布式环境如何加锁(不会) gosync.map实现 map哈希过程(讲错了一点点,忘了可能插入相同键不同值) 锁的底层实现是什么(不会,给了个人的猜测)聊天半小时: 你个人常写代码吗? 你最主要的代码规范经验是什么? 万一公司有很多不合理的规范怎么办? 你想学到什么? 不符合你的预期怎么办? 实习多久 算法二叉树和为n的从上向下路径(简单)反问: 听说go有什么什么的缺陷,你怎么看 base地点能选杭州吗(只有北京,可惜了,还是更想杭州离家近) 追加一个问题,多线程处理问题你觉得开多少个线程(开放问题,情景自己考虑)