问得好偏,不是传统的八股文,面试官也是华科的,但是下手是一点也不留情啊,确实全是做c++的,又问c++刚开始的时候介绍部门是干啥的,怎么看待转编程语言(当然没关系),然后问为什么不读研(感觉可能他们这全是研究生,说是搞媒体云pcdn的,不是很懂)1. 先写个LRU,刚开始用链表实现,问能不能优化查询(hash可以优化查询),hash键值都存的什么(值存的是链表节点指针,键就是要查找的数据的值)2. map有哪几种实现(红黑树,哈希表),哪种实现空间耗费的多(答哈希表,分析了一通原因,不知道是不是对的)3. 知道布隆过滤器吗,说下实现原理 (通过概率+ hash + bitmap balabala),说下这个东西有什么用(防止缓存穿透,避免不存在的数据请求到达数据库,造成数据库压力过大)3. 说一下一致性hash(答虚拟节点啥的,顺带提了一嘴redis横向扩容,结果他就逮着不放)4. redis横向扩容的话假设现在有9000qps,然后有两台redis通过一致性hash横向扩容,每台只能顶住5000qps,有没有可能顶不住(有可能,9000qps请求的数据可能通过一致性hash进行运算之后全部落到一台redis上),又问怎么解决(答redis主从复制,不知道是不是他想要的答案)5. 网络包路由的过程 (这个忘了)6. 如果你实现了一个http server 和一个 http client ,请求的时候可能会有一些请求超时和无响应,如何排查问题(答可能由于网络拥塞),如何判断是否是网络拥塞(答ping查看丢包数,他说linux内核会记录tcp丢包数啥的,我说不知道),接着说通过服务器日志查看是否是业务逻辑有问题,然后我就不知道了(然后他不是很满意),又问我如果服务器只能接受20个tcp链接,如果同时有100个连接请求链接会发生什么,(我说第一次握手之后服务端会建立半连接队列,同时连接多了,会导致超量的连接建立不成功),又问如果没建立成功客户端能感知到吗(答不能,其实不知道),又问如果是全连接队列满了,能感知到吗(答不知道)7. 然后就是介绍项目的核心问题,怎么解决核心的问题还有些问题想不起来了,就挺奇怪的,感觉问的都是挺偏的东西,很多没答出来,感觉估计是凉了8.8刚才打电话约三面了,没想到这么快,许愿三面能过
点赞 15
评论 5
全部评论

相关推荐

头像
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务