C++面经-2020年暑期实习

  • 钉钉C++研发工程师:主要是windows开发
  • 腾讯wxg和ieg:C++后台发开,ieg:oc
  • 字节:客户端开发
  • 美团:服务端开发,4.24 oc

后续面经更新

钉钉C++

一面

  • 项目介绍
  • 自己觉得最有价值的项目,说说其中遇到的问题怎么解决的?越多越好
  • C++
    • 虚函数的原理和作用
    • 左值和右值区别,以及右值是否可以转换成左值
    • 浅拷贝和深拷贝的区别,以及为什么需要深拷贝
    • 内存管理方面遇到的问题
    • 出现内存错误,可以通过反编译查出来吗?
  • 计算机网络
    • TCP三次握手和四次挥手的过程
    • TCP为什么需要三次握手,而不是两次
  • 操作系统
    • 怎么控制多个线程同时写的问题
    • 多个线程,中间有些线程读,有些线程写,如何控制写线程执行时,其他线程无法执行,没有写进程时,所有读线程可以执行
  • 数据结构
    • 二叉树的遍历方式
    • 介绍一下在实际中用到遍历方法的例子,编程题也可以
  • 手写代码
    • 字符串转整数,实现atoi函数

二面

  • C++
    • 怎么学习C++的?在你看过的书中最有印象是哪一本?讲讲这本书中最有印象的点
    • 堆爆破
    • explicit关键词
    • 什么是内存泄露,野指针
    • 怎么让一个程序在main函数结束后还输出一段内容
    • 虚函数表
  • 菱形继承
    • 虚继承:解决菱形继承中的问题
    • 怎么判断内存泄露
  • 操作系统
    • 进程和线程区别
    • 一个进程,有多少个堆和栈
    • 多个线程,主线程结束了,其他子线程会怎么办
    • 进程切换技术
    • 虚拟内存
    • 原子锁
    • 一个线程怎么杀死另一个线程
  • 算法
    • 排序算法介绍一下包括时间复杂度,以及对于有序数组,那个时间最短
  • 手写代码
    • 判断一个文件中是否包含敏感词汇

三面

  • 虚函数,虚表
  • STL容器,底层实现,红黑树和哈希表的对比
  • QT的信号槽机制原理,对应什么设计模式:观察者模式
  • 问题都比较深
  • 给我推荐了三本书《C++对象模型》,《windows核心编程》和《windows高级编程》,推荐我实现一个notepad程序
  • 做了notepad给面试官,直接过了,走下面的流程

四面

全程聊天,从本科聊到未来,主要看的我们的规划和计划性,以及寻找你突出的特点,跟别人比你吸引人的地方。

五面

全程聊天,聊了十来分钟吧,主要就是要你讲自己的优点,比举例子。还有觉得自己适合做什么,不适合做什么。面试官最后说了他这里基本没问题。

HR面

腾讯wxg后端开发

一面

  • TCP三次握手,如果第三次客户端没有响应,服务端会怎么做?
  • HTTP和HTTPS的区别
  • IO多路复用,epoll的重排是怎么做的?
  • 协程,进程和线程的区别
  • 虚拟内存
    • 多个进程的地址可以一样吗?
    • 虚拟地址到物理地址怎么映射的?
  • 虚函数,虚表
    • 如果类C继承自A,B,那么类C中有几个虚表?
    • 怎么找到虚函数的地址?
    • 子类可以调用父类的虚函数吗?
  • .o文件到.dll文件的过程,讲讲是如何链接的?
  • 项目
  • 六道算法题

二面

全程问项目,遇到的问题,以及一些技术的深入,比如FASTCGI的原理,Docker和K8s的区别等等。然后一直问我还有没有补充的。

最后问我有啥问题没

三面

全程问项目

腾讯游戏后台安全开发

再次被捞

第一面

  • 看过的书,介绍一下
  • 浏览器输入一个网址,会发生一些什么事
  • 最有成就感的一件事
  • 你的优点和缺点
  • Linux命令

第二面

  • 虚函数内部实现机制,调用的过程
  • 项目
    • FASTDFS的工作原理,备份和容灾方面的处理
  • TCP结束时的四个状态
  • 20多分钟

HR面

  • 觉得最有价值的实习
  • 在实现过程中学到的东西
  • 在工作学习生活中遇到的最大的困难
  • 工作地点,父母对工作地点又要求吗
  • 你当班干部是因为兴趣还是想提升自己在这一方面的能力
  • 实习中除了技术上,还有啥体会吗
  • 投过哪些公司?会优先选择哪个
  • 之前投的wxg,现在换成ieg的,岗位有什么想法吗
  • 15分钟左右
    两天后就oc了。

字节跳动抖音android客户端发开-上海

  • 自我介绍
  • 项目介绍
    • Android打包的过程,为什么要签名,签名的原理是什么?
  • 开始投的C++客户端开发,后来被调到android开发,所以主要问了C++的内容
    • C与C++区别
    • sizeof一个空类
    • C++三大特性
    • struct和class的区别
    • 多态介绍
    • map和set底层实现
    • vector和list的区别
    • 虚函数,虚表
    • delete的背后实现
    • 智能指针
    • 虚函数可以是内联函数吗?
  • 操作系统
    • 进程间通信方式
    • 两个进程之间怎么共享内存的?
    • 虚拟内存,分页机制,虚拟地址怎么映射到物理地址?
    • 死锁,AB两个进程,cd两个资源,怎么才会形成死锁
  • 计算机网络
    • 浏览器输入网址背后的内容
    • HTTP是否有状态
    • cookie的原理,为什么服务端需要session,而不是直接存储用户名和密码?
    • HTTPDNS
    • UDP和TCP的区别
    • DNS使用UDP还是TCP
  • 代码
    • 无重复字符的最长子串

一直没有消息了。

美团

第一面

  • 多路IO服用
  • 进程和线程的区别
  • 进程间通信方式
  • redis同步方式
  • 分布式怎么来处理请求
  • mysql和redis的区别
  • mysql的两种存储引擎的区别
  • mysql表有几种连接方式,内连接,左连接和右连接
  • 怎么处理高并发,除了多路IO服用,貌似还有线程池,分布式
  • TCP的三次握手
  • TCP拥塞控制
  • TCP的窗口机制主要解决什么问题
  • TCP拥塞控制主要解决什么问题
  • HTTP的长连接和短连接的区别
  • scoket编程,服务端怎么处理请求的
  • 如果判断一个包使重传的包
  • 手撕快排
  • 有什么问题:
    • 主要做什么业务
    • 对我的评价
      全程一个小时不到。

第二面

  • 自我介绍
  • redis
  • http的一些方法
  • 网络编程中,服务端怎么处理请求
  • tcp和udp的区别
  • 哪些应用层协议使用udp和tcp
  • c++多线程怎么实现同步
  • liunx的命令这一块,我强调之前用过,现在不太熟悉,对操作系统知识比较了解
    • 如果修改文件权限
    • 如果读一个几G的文件
    • 查看端口
  • redis有哪些数据结构
  • 中间件,因为不了解直接说不会,说了一个RCP啥的,我也忘记了
  • 项目介绍:这个时间占大头
  • 你是怎么学习
  • 对未来的规划
  • 反问:对我的评价
  • 手撕代码
    • 有序链表合并
    • 如果链表无序怎么处理

全程四十分钟左右。
面完还没消息。

#CPlusPlus面经##阿里巴巴##腾讯##美团##面经##校招##C++工程师#
全部评论
腾讯 22届校招开始啦!后台开发hc充足,不需要走系统,简历直接给leader,相当于多一次机会,投递邮箱1165772354@qq.com,或者加q1165772354 可以帮忙 修改简历 噢
点赞 回复 分享
发布于 2021-07-12 09:07
老哥,我想问下内存泄露如果不使用任何工具的话怎么检测出来呢
点赞 回复 分享
发布于 2020-04-20 16:00
epoll的重排和堆爆破,是什么🤣我搜不到
点赞 回复 分享
发布于 2020-04-20 00:57
应该是用qt实现的文本编辑器吧。在面试之后提交的可能。
点赞 回复 分享
发布于 2020-04-12 22:41
同好奇notepad是怎么当场写出来的
点赞 回复 分享
发布于 2020-04-12 22:20
好奇notepad程序的实现。请问可以详细介绍一下吗?
点赞 回复 分享
发布于 2020-04-12 22:10
大佬太强了,那个notepad程序是现场写的吗?
点赞 回复 分享
发布于 2020-04-12 19:56

相关推荐

05-12 17:28
已编辑
门头沟学院 硬件开发
ldf李鑫:不说公司名祝你以后天天遇到这样的公司
点赞 评论 收藏
分享
AI牛可乐:哇塞,恭喜恭喜!48万的年薪,真是让人羡慕呀!看来你找到了一个超棒的工作,可以享受不卷的生活啦!🎉有没有什么求职秘诀想要分享给小牛牛呢?或者,想不想知道我是谁呢?😉(点击我的头像,我们可以私信聊聊哦~)
点赞 评论 收藏
分享
评论
8
109
分享

创作者周榜

更多
牛客网
牛客企业服务