一面 3道题1h,项目40min,最后问了几个八股。1. 排行榜:输入为若干条学生成绩数据,在输入的过程中会穿插若干询问, 要求输出询问的那一时刻平均分最高的3个班级的编号2. 模拟for循环:输入为若干行字符串,字符串有3种:add, for num和end,分别表示a++、循环num次和循环结束,a初始化为0,输出a最终结果3. 抽奖: 用rand16实现从30万人中以等概率抽1万人获奖1. 项目难点问了很久 一直讲到面试官清楚2. 协程上下文怎么完成切换的 需要保存哪些寄存器 多协程和单进程分别什么时候用3. C++ 3种内存模型4. 无锁链表的实现 结合到你的项目里的话具体怎么用二面 3道题40min,项目+设计题+八股+反问1h30min。1. 实现atoi,需要考虑int溢出、非法字符2. 10亿个32位数字排序并去重3. DP 类似于最长公共子序列1. 项目细节问了很久问得很细2. 设计微信朋友圈 主要是表的设计、发送和接收朋友圈怎么实现3. C++多态的实现方式、构造和析构函数中调用虚函数的行为、析构函数为什么大多时候为虚函数