腾讯音乐 一面 秒挂
感觉要被骂哭了的一次面试,一次比较难忘的面试经历,面完感觉要掉小金豆了。
1.讲tcp, time_wait, 过多的优化。
答得尚可。感谢小林coding
tcp还问了naggle,delayack和可靠传输保证, 我答了我认为超时重传+确认机制就基本可以实现了,但是tcp还是有握手挥手流量控制,拥塞控制等一系列机制。面试官问我还有吗? 然后我是真想不起来还能有啥了。
然后问我让我设计http,要怎么基于tcp设计, 讲了点粘包,拆包。 然后问我http是怎么连接复用的(太久没看了,着实忘了细节)
我有说我感觉tcp有很多历史原因改起来很麻烦,想往quic上引,然后面试官也没继续问。
2.进程,线程, 协程。
问我协程怎么实现的,这些本质上有什么区别?
答出来了协程是用户决定如何取执行逻辑。 不知道面试官还想问啥。
3.epoll
协程提到了epoll。 开始问epoll为啥用红黑树? 为啥不能用hash表? epoll在操作系统层面是怎么感知到有消息来的? epoll是怎么查红黑树的? 能不能讲讲红黑树是怎么保证平衡的? 旋转?
真实地体会到无力。八股战士怎么会这么底层的东西?
4.mysql
问了几句常规八股, 唯一没有持续摇头抱歉的地方。
问了我一个常规场景题,问我这个场景下索引怎么设计,问我会不会分库分表。 吟唱了几句然后也不知道说的对不对。
场景题: (感觉他麦有一点问题,总是有些关键字) 问我一个包括了 id, name, class, score等字段的表, 如果经常有查询某个班级前五名名字的需求,要怎么设计。 我说了用class,score,name这样的一个联合索引,还可以保证覆盖索引。
5.redis问了一点。
吟唱了以一些八股之后,然后问了我 redis底层hash表的实现,答了渐进式hash,然后问我如果是你的话,你会怎么设计?(设计个鬼) redis感觉是挺熟的面试官也没问太多了。
6.项目blabla
7.缓存一致性blabla
然后如果用canel异步更新,缓存删不掉怎么办?数据库写完,更新程序挂了怎么办? 分布式事务了解过吗?
8.雪崩穿透讲一下
问我缓存穿透解决?
布隆过滤器,异常处理
什么场景会有?(答了csrf攻击,别的想不起来了)。问我如果没有你说的这些机制,要怎么办? md我能想的都说完了,把我榨干了都想不起来啊
9.问我会看什么技术博客吗? 问我了解过微服务吗?
反问:请问你们那边想招什么人? 知识深度足够, 最好看过源码, 知识广度有要求但不多。
1h,纯拷打,没录音,中间可能有些被骂的太狠了忘了, 面试官最多的一句话就是你下去再思考一下吧。可能是因为笔试迅速的全A能有这个面试, 中途问的随心所欲的,感觉面试官水平很高, 拿捏我这种八股战士就是完全不问八股,完全不让你吟唱,头摇的跟拨浪鼓一样。面试官对我的称呼从不带姓只叫名字到xxx同学。 还有可能是因为我是java, 他们招的也是c++/go, 确实有很多火力没办法被分担。
上周同门面试也是, 给了40min写题, a了好多。 然后问shell输入命令之后发生了什么,拷打了十多分钟。即便40分钟4道mid题全A也是秒挂
#软件开发2024笔面经#