面经--微博&&今日头条
上星期面的两家,都给了offer,效率是真的高,长话短说,直接上面经。
岗位:微博广告引擎后台开发,头条:头条号内容分发业务后台开发
介绍一下个人,985硕士,计算机科班,技术栈:c++, 网络比较熟悉,看过网络库源码和redis源码。写过go语言
微博:
一面:
1 c++特性
2 虚函数虚表
3 查找虚函数的过程
4 指针引用区别
5 c++11特性
6 shared_ptr和unique_ptr区别,怎么相互转换
7 tcp链接建立和断开的过程,状态转移
8 两个有序数组合并,n个有序数组合并
9 介绍项目
二面
1 主要在聊项目
2 LRU缓存怎么实现
3 tcp的timeout状态含义,怎么避免timeout
4 如果没有经过4次挥手,一方突然掉线,有什么后果(会有复位信号)
5 应用层怎么实现ret信号
6 堆排序原理,过程(建堆,调整),代码实现
3面
1 int数组求最大子串和(剑指offer)
2 二维的怎么处理
3 三维呢,四维,五维呢,n维呢(说实话,我想打人!)
4 平时怎么学习的
5 为什么看源码,有什么收获
6 谈谈对分布式的理解
7 后面就是聊理想聊人生
今日头条
一面
1 redis的数据类型
2 redis优缺点
3 redis事件处理流程
4 c++11了解多少
5 std::move和右值引用
6 右值引用应用在类上需要注意什么
7 字符串a中剔除字符串b,不使用辅助空间
二面
1 go语言有多少了解,chanel知道吗
2 chanel应该由谁关闭,消费者还是生产者,如果消费者读已经关闭的chanel有什么后果
3 聊项目
4 网络编程流程
5 connet超时怎么实现
6 网络io模型
7 哪些网络操作可以使异步的
8 reactor模式和preactor模式,区别
9 大整数加法代码(我是实现一个BigNum类,重载operator+运算符,建议不要直接写函数)
三面
1 设计火车票查询功能,从数据存储到业务逻辑(懵逼,回答的不是很对口)
2 换个简单的,微信朋友圈怎么刷新(缓存,数据库,业务逻辑,马马虎虎貌似也不对口)
3 谈一下自己的想法,职业规划,想做点东西,有哪些需求,对leader或者同事的想法
基本上这么多,除了问项目的没写,个人项目因人而异。