后台开发C++|2021秋招面经分享

图森未来 一面 8.9 1h

一、算法题目
1、给定一个数组,求解从头开始的连续子序列的和,或者从尾巴开始的子序列的和最大,转化为DP 做

二、基础
1.柔性数组
2.redis 的发布订阅
3.模板
4.Linux 系统执行程序,想退出,继续执行程序(守护进程)
5.svn 提交一次代码的过程
6.字典树的插入操作
算法题我没想到用DP转化,用前后缀数组和做的,感觉后半程面试官气氛不对,后续凉凉~


网易 一面 8.30 1h

1、写题:LRU
2、bash 脚本实现简单的KV 数据库,问有啥优化吗
图片说明
3、项目+八股文
自我感觉良好,两天后凉凉~


巨人网络 一面 8.13 30min

1、进程通信和线程通信
2、stl 三种map
3、常见八股文

巨人网络 二面 8.24 1h

1、C 语言的空类和C++ 的空类
2、auto it = cons int &, it 是啥
3、STL的find函数的原理
4、STL的sort函数的实现,是否是稳定排序
5、手写KMP
6、父类指针和子类指针的比较
7、字符串匹配的BM算法

反问:游戏服务器开发和服务器开发的区别
1)游戏开发的数据多在内存中,正常服务器开发数据大多在数据库
2)正常服务器开发多是一问一答,游戏开发开发交互流程不同,很多主动推主动拉

巨人网络 HR面 9.2 10+min

1、玩不玩游戏
2、为啥投游戏开发
3、测试很无聊怎么办
4、优点
5、同学怎么评价你的
6、介绍巨人福利

感觉HR对我不玩大型游戏有顾虑,等HR面结果

9.10 收到意向~


商汤 一面 8.4 1h

算法题目:

在二维有序矩阵查找是否有targer、链表反转,N 条直线切割最多的空间数

1、类的可变参数模板
2、C++ 的类型转换
3、lambda 表达式
4、内存泄***r>5、内存对齐
6、C++ 内存分布
7、指针和引用
8、int float double 判断是否等于0
9、互斥锁的机制

商汤 二面 8.9 30min

1、项目
2、系统调用
3、epoll
二面没问啥

商汤 三面 8.16 1h

项目问了很多
基础:
1、问了进程和线程的创建和管理方式以及开销
2、linux的pthread_create 和 c11 的区别
反问:工作选择

面试官说了以后发展的影响因素
1)方向选择:第一份工作关键,决定以后的主线,和原始努力在那里
2)行业选择:技能不一定依赖行业,行业价值决定薪水
3)主要的差距:自己的投入和努力,面先做深,点要做广

介绍商汤:
层次结构:硬件、操作系统(linux)、驱动、端+云(AI算法)+APP
目标是:智慧生活、智能处理、自动驾驶、医疗

补了一句:互联网的发展不好说
说做到陌生的领域对于个人成长和公司的发展都是好事,有利于个人成长,以及找到公司业务的衍生机会

商汤 四面 HR面试 8.20 30min

1、为啥选择商汤
2、自己三个优点
3、自己的缺点
4、校招生在北京能接受吗?
5、已经拿到那些Offer了?
6、还准备面那些公司?

已OC, 等意向~


百度一面 7.29 1h

算法题目:

1.二叉树的右视图
2.给定一个数组,多次查询[l, r] 查询区间内有多少个等于k

基础
1、redis 替换策略
2、智能指针
3、redis 的事务和mysql 的事务
4、redis 单线程还是多线程,多线程解决啥问题

反问:
看重:沟通是否流畅,是否聪明,基础是否扎实(C++、数据库、缓存、分布式)

百度二面 8.3 45min

算法:

说了一下一面的算法题目

基础:
1、LRU、LFU
2、主从同步,提了一句全量复制
3、protobuff

百度三面 8.10 30min

问了项目
建议实习,交了三方工资实习工资是正式的90%

反问:

1、业务和技术同样重要,技术做强最后都是相通的,站在高位的人都是业务行技术行的人
2、频繁跳槽不利于自身职业发展

百度整个面试体验很好,面试管又强又谦和,已OC, 等意向~

9.14 收到意向书~


字节一面 8.5 1h

算法题目:反转链表
基础:三次握手,第一次SYN 没有接收到,会怎么样?

字节二面 8.10 1h20min

算法题目:
1.反转链表
2.合并两个有序数组,一个数组已经申请了两个数组的空间
3.栈和排序

基础:

1、哈希表扩容(没答好)
2、socket 的函数,以及具体参数(具体参数不太知道)
3、内核态和用户态的通信方式
4、说一下系统调用
5、还知道那些不需要加锁的并发机制
6、CAS 的原理,是乐观锁还是悲观锁?
7、乐观锁和悲观锁
8、Atomic 的原理(没答好)
9、知道RCU(Read copy Update)吗

字节三面 8.24 40min

算法题目:
输入流的中位数

1、并发和并行
2、实际一个业务场景,(读1000个文件,open, read, 正则匹配检查是否有某一字段key,关闭文件),4个核,和一个核的性能对比

反问:
互联网发展目前更像基础设施,类似于社会分工
第二天收到意向~,真的快


WXG 一面 8.12 1h30min

一、算法题目

1)求解链表的倒数第K个节点以及反转链表
2)判断是否是镜像二叉树,以及输出满足镜像二叉树的最大深度
3)n个小文件以及数组s[] 记录每个小文件的大小,和磁盘大小c, 计算如何放入小文件是的磁盘剩余空间最小,输出数组r[],r[i] 为true 表示第k个文件放入,false表示不放入。

PS: 是用腾讯文档30分钟写三道题目,我有点慌,实际是大概40分钟+,第一道题目是分别写的,第三道题目当时写的DFS,最优是DP。有点自责~

二、基础

  1. IO 复用,select 、poll、epoll 的原理
  2. tcp 慢启动
  3. 如何解决tcp 惊群问题
  4. 如果网络环境不好,多次建立断开连接,是否会每次都采用慢启动
  5. 上题的问题背景下,如果tcp 没有响应的措施,可以怎样实现
    面试管提示:应用层用UDP 封装
  6. B+ 树和红黑树的原理和应用

三、项目

问了访问控制,和内存回收

四、其他

问了能否来实习
问了腾讯的印象以及微信的印象
问了现在主要在干啥
问了是不是刚开始面试
反问

WXG 二面 8.17 1h30min

一、算法

1、链表大数的相加,不同的是带了符号位,输出也表示为符号位。(直接模拟的,符号位处理没想到优雅的写法)
2、公司裁员问题:裁员希望得到最大收益(相同收益情况下,取裁员最少的方案),给定员工收益数组benefit[], 员工有上下级关系,如果员工的所有直接上级被裁,则员工也要被裁(假设员工只有一个直接上级),给定vector>relation 表示上下级关系,计算最大收益和裁员人数(直接暴力模拟,写的有点问题)
3、平均故障间隔时间:一个系统有N个模块,每个模块的平均故障间隔时间是 数组,问系统的平均故障间隔时间(没懂,,,)

二、基础

1、socket 编程的函数
2、三次握手,客户端最后一次握手丢了,服务器和客户端两方处在于什么状态?
提示我用滑动窗口处理
3、如何很多个用户的最后一个握手的ACK 都丢了,服务器怎么办?listen的backlog 决定
4、MQTT , atmostonce 和 at least once
5、epoll
6、边缘触发和水平触发
7、hello 在linux 中执行过程
8、阻塞IO
三、项目

1、设备上线提示
2、状态链表根据超时时间排序

WXG 三面 8.31 2h20min

项目30min + 5道算法题(一个半小时)
平台是codeinterview,自己要写样例测试,以通过样例为结果,不能用自己的编辑器

1、链表相加,16进制
2、计算二叉树根到叶子的路径和是否有等于K 的,不能用遍历
3、分数转小数
4、LRU,计算缺页次数
5、leetcode 93, string 转 IP

基础:
1、三次握手异常都怎么办?
2、三次握手,客户端向服务器的最后一个ACK 丢掉了,客户端已经正常发送数据,服务器端怎么处理

写了前三题,花了1h30+min, 编译环境不太熟悉,有的写法过不去,幸好没有卡很久,事后看着感觉花了很久,当时真是写断手,有点遗憾自己手速吧,能写但是不快

WXG四面 面委会 9.6 1h

一、题目
1、sizeof

//64位机器上如下代码,请填空
char str[] = "Hello";
char* pstr = str;
const char* str_list[] = {"Hello", "World"};
void* pbuf = malloc(100);
int n = 10;
请计算:
sizeof (str ) = ________,
sizeof ( pstr ) = _____ ,
sizeof ( str_list ) = _____ ,
sizeof ( pbuf ) = _____ ,
sizeof ( n ) = _________
void func ( char str[100])
{
sizeof( str ) = _____
}

2、请编写一个string类,请实现:构造函数、析构函数、拷贝构造函数、operator =、c_str方法(返回const char*)

3、后台开发场景中经常会使用到“定时器(Timer)”服务:
比如使用方能启动Timer定期输出日志,或网络断连后启动Timer定期尝试重连;
现在需要自行设计一个Timer,需求/约束如下:
1)对外表现的颗粒度为秒级;
2)能处理海量定时任务;
3)单机、单线程实现;
//后续看看 关于时间轮crontab

四、项目相关
水平触发和边缘触发,适合场景,那个更难一些

WXG HR面 9.14 35min

1、问实习,实习收获
2、问最近的项目经历,项目收获
3、为啥没在本科学校读研
4、后续为啥没有实习
5、拿到那些offer
6、父母工作,是否独生
7、工作选择那哪些因素
8、确认是否是全日制研究生
9、确认身体健康情况
10、对微信部门的了解
收到了测评和云证,许愿OC~

9.17 收到OC和意向,耶耶耶


美团一面 8.13 1h

1.概括http 协议[x]
2.说一下路由器的作用
3.局域网两台主机通信的原理
4.虚拟内存
5.linux 文件目录以及作用
6.逻辑地址和物理地址 有多大
7.快排的时间按复杂度为啥是nlogn,最坏是什么情况,如何解决?
8.tcp 为啥三次握手
9.c/c++ 与python 的差别
10.软连接和硬链接

项目:
1、单条指令分发1000w 个设备的问题
2、单点负载:考虑IO和CPU

算法:
计算多叉树的权重和,每个节点的权重和为(节点的值乘以树高),不能用递归

美团二面 8.18 1h30min

1、乐观锁和悲观锁
2、redis 为啥快
3、数据库的事务的四个特点
4、数据库的隔离级别
5、tcp 四次挥手的客户端以及服务器的状态, 为啥close_wait 在 last_ack后
6、了解无锁链表吗?
7、数字压缩技术听说过吗
8、其他无锁的并发技术
9、阻塞和同步的概念
10、epoll 的原理
11、水平触发和边缘触发
12、还知道那些服务器模型

算法:
n x m的数组,每一行从大到小有序,行之间无关,求前k大的数(k
可以用stl 的库,自己实现有加分

其他:
1、自己想做啥方向
2、有哪些offer了
反问,工作选择,建议,深耕技术考虑底层,如存储、计算这些方向。公司选择,只要数据具有一定规模,公司差别不大,还要考虑各个公司的技术特点如电商,资讯这些。

后续会有同事联系

美团 三面 HR 面 8.27 15min

1、城市选择
2、项目中比较有挑战的
3、如何优化已有的项目
4、反问新人培养是一对一的吗?答类似于是多对多的
说是1周-2周出结果

两天后收到意向~


阿里 直通 9.1 1h

1、项目
2、锁
3、后续忘了
4、写题目是,链表去重,输出无重复的链表和重复的链表

阿里 9.14 4min+

对阿里部门的了解
已有那些offer
具体部门的选择
base地的选择

#面经##腾讯##百度##网易##字节跳动##图森未来##商汤科技#
全部评论
楼主也太强了吧!!!
1 回复
分享
发布于 2021-09-09 09:36
楼主也太强了吧!!!
点赞 回复
分享
发布于 2021-09-09 10:01
博乐游戏
校招火热招聘中
官网直投
太狠了 巨佬
点赞 回复
分享
发布于 2021-10-05 10:13
楼主也太强了吧!!!
点赞 回复
分享
发布于 2022-03-01 20:12

相关推荐

7 56 评论
分享
牛客网
牛客企业服务