CPP面经

暑期实习。面试语言主要是cpp。附带一些go和py。其实入职有一段时间了,但因为过程有点坎坷后面都懒得记面经了。现在端午稍微有点空就整理一下放出来吧QAQ

bg:双非本,有一些竞赛基础但没有acm牌子(太菜了),笔试大概是大部分middle随便做的水平。项目是牛客的webserver + MIT 6.824的前两个lab。

时间线:3月份开始投递。百度一面挂,美团二面挂(好像是终面),一堆笔试ak但是无下文。沉淀一会后5月初开始陆续收到图森未来,柠檬微趣,杭州默安,南京知能,CVTE,格灵深瞳的笔面试。参加了前面三个的面试,最后加入了图森未来,另外两个都过了一面但由于收到offer了所以二面被我拒了(x

百度(因为是第一次面试,非常紧脏,所以问了一些基础的问题就秒挂了。):

  1. golang管道怎么用
  2. golang的goroutue泄露
  3. tcp和udp的区别
  4. tcp三次握手四次挥手
  5. tcp四次挥手第二次和第三次不能合并吗
  6. 手写一个单例模式
  7. 设计模式几大原则
  8. 手撕单例模式(懒汉模式)
  9. 手撕二分查找。

美团(鸡架,无人机团队):

一面:

  1. 多态和继承在什么情况下使用
  2. 除了多态和继承还有什么面向对象方法
  3. 情景题。手机店。不同品牌的不同型号手机有不同的业务逻辑。怎么设计系统
  4. tcp/ip五层模型
  5. dns服务器用的是什么协议。
  6. ping命令 用的是什么协议。在哪一层。
  7. tcp拥塞控制实现。
  8. 模板元编程(简历上写了,但答的不好)
  9. 为什么要用多线程。多进程可以吗(webserver的)
  10. 进程和线程的区别。
  11. 为什么要用线程池
  12. 讲讲智能指针
  13. C++内存分布。什么样的数据在栈区,什么样的在堆区。
  14. C++内存管理(RAII啥的)
  15. C++从源程序到可执行程序的过程
  16. 编译阶段的过程(编译原理,词法分析啥的)。每个过程干啥的
  17. 为什么要用epoll
  18. 怎么debug,怎么看内存泄漏。
  19. 聊天

二面:

  1. epoll实现原理
  2. reactor和proactor的好处和坏处。为什么要用reactor而不用proactor
  3. 能详细讲一下有限状态机怎么解析http报文吗
  4. 小根堆定时器是怎么弄的。如果一次pop一个的话。高并发情况下会不会有问题
  5. 如果有两个服务器,一个服务器坏了,另一个服务器怎么判断并接手坏的服务器的用户数据(共用一个堆
  6. 堆和栈的区别。什么情况下会往堆里放
  7. 一个对象=另一个对象会发生什么(赋值构造函数)
  8. 如果new了之后出了问题直接return。会导致内存泄漏。怎么办(智能指针,raii)
  9. c++11的智能指针有哪些。weak_ptr的使用场景。什么情况下会产生循环引用
  10. 多进程fork后不同进程会共享哪些资源
  11. 多线程里线程的同步方式有哪些

后面的基本没有记录,只记得手撕和一些面试的时候卡住/不确定的问题。(主要是懒了)

图森未来:

一面(coding面):leetcode:694. 不同岛屿的数量。还有一题忘了。八股问题主要是cpp相关。

二面:手撕小根堆。手撕智能指针。八股问题忘了。

三面:

  1. select怎么用。底层原理
  2. select为什么只能支持1024个。poll和epoll是怎么解决这个问题的。
  3. epoll 底层为什么用红黑树不用hash
  4. py修饰器

柠檬微趣:

  1. size_of是在编译期还是在运行期确定
  2. 函数重载的机制。重载是在编译期还是在运行期确定
  3. hash表数据很大。rehash的代价很高,怎么办
  4. 如果解析http请求的时候,用户一次性没传完数据,(如果头部都没传完,请求报文长度字段都没传完,怎么办)

杭州默安:主要是面了golang。只记得一些。

  1. 数组和切片的区别
  2. GPM调度
  3. sync库用过哪些。
  4. golang的协程。py的协程。
  5. mysql的隔离级别和锁。
  6. k8s,一些其他的sql了解过吗。
全部评论
动态好久没更面经了, 像佬学习
2 回复 分享
发布于 2023-06-25 15:03 海南
请问是面的golang岗位吗,还是面CPP问了golang
2 回复 分享
发布于 2023-06-23 15:18 甘肃
rall是啥呀
点赞 回复 分享
发布于 2023-06-27 21:03 香港
学习
点赞 回复 分享
发布于 2023-06-26 16:54 重庆
今年cpp要寄!😖😖
点赞 回复 分享
发布于 2023-06-26 12:29 北京
哎,我怎么就找不到大厂实习,是不是大厂很少用cpp啊
点赞 回复 分享
发布于 2023-06-26 11:18 江苏
请问这个问题,你是怎么答得,epoll 底层为什么用红黑树不用hash
点赞 回复 分享
发布于 2023-06-25 15:52 浙江
狠狠的mark
点赞 回复 分享
发布于 2023-06-25 14:35 上海

相关推荐

02-12 20:22
重庆大学 Java
字节暑期刚入职四天,因为是年前,所以很多正职都放假走了,也就没有给我分配mt,然后有一个老哥在我来的时候给我发了一个landing手册,然后还有关于部门业务的白皮书,还有一些业务代码。然后本人是java面的,进来第一次接触go语言 前面几天熟悉了一下go的语法和go的框架,可以读但是还不太会写,然后业务白皮书也看的很头疼,包括landing手册里要了解的很多东西说实话我看文档真的快看死了,一个嵌套一个,问题是我还完全不知道咋用这个我了解的东西,还有就是那个项目代码,那个老哥喊我去写写单测,熟悉一下go的语法,但也进行的很困难(这是我第一段实习,之前都是springboot那一套,真不太熟悉这个)想问问大家的建议,就是我从现在开始到在开年回来之前应该做些什么,我目前就一个想法 就是复现一个landing手册上的go框架小项目 就是相当于帮自己锻炼锻炼怎么写go 或者各位大佬有没有更好的锻炼go语法的建议还有就是大家都在说vibe coding,那我应该怎么锻炼自己使用ai的能力,感觉我除了给一些需求然后它给我生成代码,好像就没别的用法了,那些什么工作流、拆解、skill啥的都不知道从哪一个地方开始,包括我现在正在实习,不知道精力该怎么分配,去网上想找找关于agent开发的一些学习流程,说实话,众说纷纭,有的是从python开始打基础然后系统学那些rag prompt langchain mcp等等,有的是说直接找一个github上的ai项目然后反复问ai,我确实有点迷茫,恳求各位大佬能留下你们宝贵的建议,我一定认真反复深刻学习有一说一 我觉得字节饭挺好吃的!
双非后端失败第N人:1. go语言我建议你让ai带着你先把基本语法速通了,然后再去用go重新刷你以前刷过的leetcode,这样熟悉起来很快 2. 直接看你们组go项目,里面用***比较复杂,然后把每一个语法现象都喂给ai,一点点看
字节跳动公司福利 1371人发布
点赞 评论 收藏
分享
02-16 01:39
南昌大学 Java
重剑Ds:感觉不太可能 后端都减飞了 根本不缺人
点赞 评论 收藏
分享
评论
43
377
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务