阿里云 蚂蚁支付宝 钉钉 c++ 面经

阿里云

一面

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 最接近的二叉搜索树数值

蚂蚁-支付宝

钉钉-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、讲一讲布隆过滤器

经验分享 程序员 微信小程序 职场和发展