腾讯ieg春招实习面经分享(后台开发C++)

春招过程中也看了不少牛客大佬的资料,也分享一下自己腾讯ieg的面试经过。其中与项目相关的内容由于不具有参考性故都省略了。希望能帮到大家。

投递的岗位是腾讯IEG C++后台开发岗

在一些题目下打上了个人的参考答案,!仅供参考仅供参考!。很多答案没有在互联网搜过或查过书,凭着感觉写了一些点,难免有缺漏或错误,欢迎大家指出!

加油加油!

腾讯一面

手撕二分查找

  • 写了闭区间方法
  • 改成左闭右开会影响结果吗n=nums.size()不减一。 不会,因为除二向下取整了,所以啥事都没有

递归迭代优缺点

  • 递归: 思路清晰,结构简单,递归深度过大会导致溢出
  • 迭代: 代码相对较难写,对比递归方法不易发生堆栈栈溢出问题
  • 内心os:明明递归难写,比如反转链表

递归调用函数占用了什么空间

  • 栈空间
  • 实际上堆空间也有可能占用

函数栈空间多大

默认1M(不确定)

函数传参时int &会减少占用的空间吗,有好处吗

基础类型(不会)

感觉从内存上讲没好处,看需求把,是否需要改那个数。

引用占不占内存

1,引用实际是通过指针实现的。

2,引用是一个常量指针。

3,引用在内存中占4个字节。

4,在对引用定义时,需要对这个常量指针初始化。

5,因为在在表达式中,使用引用实际上就像使用变量本身一样,所以直接用sizeof是得不到引用本身的大小的。

ps: 印象中有书说过不占,但是网上相关做过内存检测的文章都表明是占用的。个人认为占用一个指针大小的内存也挺合理的。

HTTP协议

简单介绍,协议细节和包含了什么

报文格式

请求报文
  • 请求行
    • 请求方法 URL 版本协议
  • 请求头部
  • 请求数据
响应报文
  • 状态行
    • 版本协议 状态码 状态码描述
  • 响应头部
    • connection
  • 响应正文

http常见状态码

http常见请求方法

get

post

STL常用的容器有哪些

map deque list vector

讲一讲容器的内部实现,扩容缩容,存储

  • vector内存结构,扩容缩容
  • string扩容缩容,连续的
    • string是连续的
  • 优先级队列,以vector为存储结构的堆(详细可参考我的另一篇讨论帖)

面向对象思想的特点

  • 封装多态继承

哪些语言特性体现面向对象

  • 多态

多态通过什么实现的

  • 虚函数表

多态和重载区别

  • 多态
    • 通过虚函数表实现
    • 一个接口,根据调用的对象不同产生不同的结果
  • 重载
    • 通过参数列表的不同实现根据输入参数类型不同选择对应的函数

重写和重载的区别

重载是相同函数名,但函数的参数不能完全相同。重写是指派生类改写基类虚函数的函数体。

虚函数继承机制与内部实现

通过虚函数表实现

类的大小

int成员+普通函数+虚函数 类大小是多少 sizeof

  • 4+4
  • 类中的成员函数不占大小
  • 虚函数只分有和没有不看个数,有就占一个指针大小(虚函数表指针),没有就没有
  • 在部分64位编译器上,由于指针大小8字节,加上发生字节对齐,有可能显示类(一个int+一个虚函数)大小为16字节

PS:感谢@Thliter指出错误

字节对齐的理解 pedding

  • 为什么要字节对齐
  • 怎么字节对齐
  • 不对齐会怎么样
  • 对齐与不对齐的访问内存区别

字节序

大端小端的区别

  • 小端(先存小的) 数值高位 放在内存低位
  • 网络序(默认大端序)
  • 字节序怎么转换
  • int的怎么实现

string有字节序的说法吗

  • 没有,字节序是指byte的排序,string里面都是char,一个char就是1字节
  • 只要出现索引的地方,一定是索引越大地址越大

四次挥手

  • 2msl
  • 半连接状态

腾讯二面 (11天后)

自我介绍

内存碎片

  • 内碎片外碎片

字节对齐的原理

多线程哪些东西是共享的

  • 静态变量共享吗
  • 虚拟内存地址的组织

tcp拥塞控制

  • 慢启动和快重传的触发条件
  • 怎么区分是网络的原因(连发3次ack说明丢包)

udp改可靠udp怎么做

  • 对着tcp的可靠传输方法改
  • 加ack
  • 加序号
  • 拥塞控制

stl标准库六大容器

  • vector内存
  • map的实现方式

共享内存

进程重启如何读到之前的东西(比如本来有个map,重启后继续读到)

  • 共享内存可以实现的

设计一个算法

红包算法,3个人抢5块的红包,每个人不能超过2块

先每人分2块,再加权取随机数按比例加权扣一元

腾讯三面(1天后)

三面整体偏聊天风格

自我介绍

本科相关的内容

计算机的书看过自学过哪些

后台开发需要哪些知识和技能

最大的项目代码量多少

epoll两种模式的区别

linux看过哪些书

  • proc文件系统知道吗

C/C++看过哪些书

最近看的技术书籍

python什么时候学的

go语言有没有尝试学一下

哪个课程花的时间比较多

闲聊

玩游戏吗

平时的一天怎么安排的

职业规划

写不写技术博客

怎样学习一门新的技术

  • 找路线
  • 基础内容看书
  • 视频课
  • 粗看书再细看书

怎么用隧道上网的,自己做的还是买的

隧道上网原理

google.com屏蔽的原理是什么,隧道怎么实现的

评价+反问

基本知识ok,前两面面试官聊得差不多就不问你了

腾讯HR (2天后)

家庭情况

介绍项目

拿了别的offer会去哪

工作情况

OC(2天后)

第一次发面经长文,如有违规的地方恳请大佬私信调整。

顺带推荐一波牛客的冲刺班,免费的,对于基础一般的同学来说确实挺有用的,有项目+整理好的八股文。现在已经全是录播课了,不过白嫖的东西要什么自行车是吧。
https://www.nowcoder.com/courses/cover/live/690
下面这篇帖子简要介绍了这个课程的内容和我对其的理解,有需要的小伙伴可以参考一下。
https://www.nowcoder.com/discuss/651617

#实习##面经##腾讯##C++工程师#
全部评论
引用的本质应该是一个指针常量
1 回复 分享
发布于 2021-07-19 10:36
大佬投的哪个部门啊?
1 回复 分享
发布于 2021-08-08 19:49
请问大佬,string的扩容是怎样的
点赞 回复 分享
发布于 2021-04-30 00:22
请问共享内存如何实现读取重启进程的东西呢
点赞 回复 分享
发布于 2022-01-27 16:13
这到底是春招还是实习啊😂
点赞 回复 分享
发布于 2022-02-23 15:55
大佬当时三面过后,多久发现进HR面了呀? 我昨天腾讯三面完,现在还没消息😭
点赞 回复 分享
发布于 2022-03-18 11:46
如果面试挂了会影响后续投递吗
点赞 回复 分享
发布于 2022-03-19 16:29
大一可以c++实习吗?
点赞 回复 分享
发布于 2022-03-19 17:44
楼主二面结束后 官网动态会更新吗?我一直卡在复试这里,是挂了的意思吗?
点赞 回复 分享
发布于 2022-03-22 00:14

相关推荐

我也曾抱有希望:说的好直白
点赞 评论 收藏
分享
09-27 10:54
重庆大学 C++
人已微死:致敬传奇耐测王。
投递小米集团等公司10个岗位
点赞 评论 收藏
分享
28 254 评论
分享
牛客网
牛客企业服务