阿里云
一面
1、三次握手与四次挥手,详细讲一讲客户端和服务端的所有可能状态 2、linux用什么命令查看上述状态呢 3、你是否碰到过异常情况 -> 大量time_wait状态的情况 4、time_wait出现原因,所用资源,如何解决 5、Redis基本数据结构 6、算法题: 实现一个无锁队列 leecode 394. 字符串解码
二面
1、实习中有什么项目亮点和技术提升 2、描述一下HTTP报文的格式以及解析过程 3、具体描述一下主从状态机的状态切换以及是如何推动的 4、epoll源码了解过吗 5、为什么选用Redis做消息队列 6、了解RabbitMQ和kafka吗 7、手撕:力扣 272 最接近的二叉搜索树数值
蚂蚁-支付宝
1、复现skiplist论文实现的项目中,讲一讲具体的时空复杂度 2、有没有查看整个程序占用的内存 3、大型文件编译的方法 4、讲一讲完美转发std::forward 5、讲一讲RAII和智能指针,unique_ptr是如何实现的 6、内存泄漏问题与解决 7、valgrind的原理是什么 8、静态链接和动态链接的区别 9、讲一讲具体静态链接的实现
钉钉-IM
一面
1、new和malloc的区别 2、vector底层实现 3、map底层实现 4、内存泄漏问题 5、多态 6、IO多路复用 7、epoll优势 8、epoll中LT和ET模式,概念以及详细的优劣势 9、TCP和UDP的区别 10、键入网址的全过程 11、三次握手与四次挥手 12、进程和线程的区别 13、自旋锁与互斥锁的区别 14、堆和栈的区别 15、小数据范围TopK 16、大数据范围TopK 17、算法: leecode 15. 三数之和
二面
1、讲一讲shared_ptr的具体实现 2、shared_ptr是否线程安全 3、C++多线程并发问题 4、atomic是怎么实现的 5、讲一讲项目的架构 6、用什么方法保证客户端连接到固定的服务器上呢 7、使用redis做消息队列是否有丢消息的可能 8、怎么保证消息不重不漏呢 9、消息的id如何设置 10、如何考虑项目的性能 11、详细讲一讲你说的消息的推拉结合 12、涉及到万人群的问题如何解决 13、除了json,还了解其他传输行式吗 14、详细讲一讲持久化中的AOF与RDB以及各自优劣势 15、Redis采用的是什么方式呢 16、具体是如何两者结合的呢 17、跳表和红黑树的比较 18、讲一讲之前提到的一致性哈希 19、讲一讲布隆过滤器
|