秋招总结及面经,回馈牛友,祝大家早日上岸
拼多多、字节跳动、华为、网易互娱、360、依图面经
- 楼主的秋招大概从8.28开始,到9.20结束,楼主虽然实习时的运气很捞,楼主又很菜,但是秋招却运气爆表,顺利上岸,回顾一下秋招的历程,顺便写一下面经吧,面试的时候很多有运气的成分,大家面试的时候保持心态,尽力就好了,谋事在人,成事在天,offer会有的,祝愿大家都能早日找到心仪的公司,早日上岸。
- 楼主菜鸡一枚,通信工程专业研究生,非CS出身,主要开发语言C++,但是实验室项目还是比较多的。
当前状态
- 商汤: 一面挂
- 阿里(高德地图): 一面挂(9.7面)
- 依图: 等结果(9.6面,估计挂)
- 华为: offer排序中(8.13面)
- 拼多多: 意向书(9.7面,9.19意向书)
- 头条: 意向书(9.8面,9.20意向书)
- 360: 意向书(9.11面,9.20意向书)
- 网易互娱: 意向书(9.20面,约9.22去公司谈offer,估计逼签)
实习经历(腾讯、转正失败)
- 春招实习拿了四个offer(腾讯,华为,爱奇艺,招行卡中心),最终选择了腾讯,去的是某安全实验室,面的软件开发,去了做前端(楼主根本不会前端),但是楼主还是很努力的,实习2个搬月,接手了一个中途项目,从零开始了一个新的项目,边学边做,一个人负责开发,自己对实习期表现还是比较认可的,但是!!!这个部门正式员工60+,实习生却40+,我们组只有一个hc,跟我竞争的是比我早来整整一年的一个实习生,后来才知道我的一面面试官就是一个正式员工还有这个实习生,组长开会说应该只有一个hc,所以自己第二天主动离职走了。8.28离职,当天疯狂投了20多份简历(慌的一批)。
- 因为投的比较晚,而且比较集中,所以最近一段时间疯狂笔面试,还有一些冲突了,到目前为止面了上述8家,后面还接到了百度、思科的面试邀约,但是不想面了。
- 虽然没能腾讯转正比较难受,比较遗憾(感觉就是廉价的搬砖工,给人搬砖了),但是还是感谢在腾讯的实习经历吧。
热乎乎的面经
依图
一面
- 项目相关
- C++ 多态实现(vptr, vtbl)
- 智能指针的实现
- inline 和 const、#define 关系
- 预编译、编译、汇编和链接几个阶段的作用
- sizeof, decltype, explict关键字、const成员函数等
- vector 的底层实现
- map、 unordered_map 底层实现
- 模板
- 题目1. 给定一个序列如, B={1,3,2,1,2,3},返回一个序列A,每个位置的值A[i] = {在B中第i个元素后面第一个比B[i]大的值},如果没有则返回-1
- 题目2. 题目一的变形,这个数组首位相连成环的情况下,求A
- 题目3. 给定一个函数 g(x), g(x)可以等概率的返回 [a,b]之间的数, 让你利用g(x), 写一个f(x), f(x)可以等概率的返回[c,d]之间的数。
二面
- 实验室的三个项目全聊了
- 实习的项目聊了
- websocket 和 http 的区别
- 题目:在一个N x M的矩阵中,找到一条最长的非递减路径。(每一点只能往四个方向走)
三面
- 等了面试官一个小时左右,感觉面试官并没准备,而且应该是搞算法的,不太懂开发,所以给了一个特别虚的设计题(偏图像处理),然而我并不太了解图像处理,面试过程中面试官不断在手机聊天,面试体验极差。
- 再次强调面试还是看运气,碰到这种面试官无力回天啊!
拼多多
一面
- 聊项目,很细
- 重解笔试题目
- Mqtt,Http,WebSocket协议相关内容
- C++ 多态实现
- 预编译保护
- 动态链接和静态链接
- 进程fork过程
- C++构造函数和析构函数相关
- 深拷贝和浅拷贝
- 虚函数和内联
- C++内存分配
- O(logn), O(n), O(nlongn), O(n^2), O(n^logn), O(n^3)算法各举一个例子
- map 和 hashMap 底层实现
- hash 函数、hash冲突相关
- 稳定排序和不稳定排序,各种排序算法复杂度
- Graphql、 Restful
- 题目1.给一个序列,如{1,4,6,3,8,7},然后打印相应的柱状图
- 题目2.给定一个函数 g(x) 可以以概率 p 产生1, 概率 1-p 产生0, 让你利用g(x)写一个 f(x), 可以以概率 q 产生1, 概率 1-q 产生0;
二面
- 聊的知识面非常宽泛,天南海北的聊
- 项目相关
- Tcp, Udp区别,Tcp拥塞控制、三次握手、HTTP协议、ARP协议、如何检测发生碰撞、ICMP协议、DNS协议
- 数据从应用层到物理层,再到应用层的过程
- 内存对齐规则
- 多线程和多进程区别
- 多线程同步方式
- 进程间通信方式
- 用过哪些消息队列
- 共享内存的实现
- RPC
- 系统中断、中断向量表
- 用户空间和内核空间切换
- IO模型(阻塞、非阻塞、IO复用、信号驱动IO,异步IO)
- select, poll, epoll
- epoll 实现
- 静态链接和动态链接
- 虚拟内存,程序装载过程
- 使用TCP通信的过程(创建socket, bind, listen, accept ...)
- 红黑树、B树、 B+树
- 平衡转化的过程
- hash和红黑树对比
- 适配器模式(设计模式)
- 迭代器的实现
- 内核相关(不太会)
- golang 和 c++的区别
- copy on write
- fork
- 守护进程
- 软连接和硬连接
- 堆排序过程
- 题目:手写插入排序(就问你运气好不好!)
HR面
字节跳动
一面
- 项目相关
- const, static, explict, volatile关键字
- 虚函数实现(RTTI)
- 几个智能指针的实现,用法
- C++11新特性
- 模板特化
- new 和 malloc区别
- C++ 内存空间布局
- vector底层实现
- map, hashmap 底层实现
- rebase 和 merge 用法(git)
- bss段
- 多线程及同步、多进程通信方式
- 自己使用过的库,以及这个库的作用,实现(lcm, libconfig)
- 题目1. 多线程交替打印
- 题目2. 反转链表(递归和非递归方法)
二面
- 项目相关
- placement new
- 析构和构造函数与多态
- 如何限制对象只能在堆上创建
- 如何限制对象只能在栈上创建
- 如何让类不能被继承
- 如何控制 vector 的内存分配
- 多线程同步的实现
- 单例模式
- 工厂模式
- 优先队列
- 迭代器的实现
- range for 语句与动态插入删除
- 还有一堆记不清了(聊天式的面试,面试体验及佳)
- 题目: 实现 O(1) 的栈的 min()函数(双栈法)
三面(近两个小时)
- 聊项目,超级细
- 一些简单的问题,基本都是上面出现过的,就不赘述了
- 题目1. 给定几十万个ip集合,判断任意一个ip是否属于这个集合
- 题目2.给定一个字符串,判断该字符串是否是环等的(字符串首位相连,如果能找到一个位置,从这个位置顺时针得到的字符串和逆时针得到的字符串相等,即为环等)
- 题目3.数学题, 用一个公式表示一个数N的所有因数的和
360
一面
- 项目相关
- 多态实现
- static关键字用法
- 值传递和引用传递
- RPC
- 消息队列的实现
- epoll的实现
- override, overload, overwrite
- c++中调用C
- 临界区
- 手写strcpy函数
- 其他记不清了,(刚睡醒,面的迷迷糊糊的)
二面
- 项目相关
- websocket协议
- javaScript 和 C++通信
- OSM(地图相关,项目中提到)
- 卫星定位相关
- 给定一个人的经纬度,如何快速定位一个人位于哪一个大厦里(索引、多级索引的设计)
HR面
网易互娱
一面
- static关键字
- const关键字
- 程序运行的局部性
- 程序装载过程
- 虚拟内存
- 深拷贝、浅拷贝
- 导致程序崩溃的错误有哪些
- TCP和UDP区别
- TCP拥塞控制
- 多进程和多线程
- 动态链接和静态链接
- C++多态实现(RTTI)
- 智能指针实现
- 向量点乘和叉乘
- 题目1. 全排列
- 题目2. 求一个向量在另一个向量的投影
- 题目3. 在一个序列中挑出一些数(两个数不能相邻),求所有被挑出的数的和的最大值(动态规划)
- 题目4. 给定一个函数 g(x) 可以以概率 p 产生1, 概率 1-p 产生0, 让你利用g(x)写一个 f(x), 可以以概率 q 产生1, 概率 1-q 产生0;
- 平时玩什么游戏、对游戏的看法,充不充钱,对充钱玩家的看法 ...
二面
- 聊项目
- C++的一些问题,基本上面的都已经覆盖
- 自己看过的书、自己想聊什么
- 题目1.给定一个序列{1,7,4,2,5,9},找到一个位置,将数组分为两个部分,使得这两个部分的和的差值最小(用三种方法)
- 题目2.给定一个矩阵,找到从左上到右下的路径和最小值,并找出这条路径;
- 题目3.数学题,三个盒子里面,有一个盒子装了一个宝藏,你随机选一个盒子,之后系统会给你去除一个没有宝藏的盒子,在接下来的2个盒子里面,你会坚持原来的选择还是重新选择另一个
HR面
华为
问题太久都忘了,而且还问了我一些通信的知识,BPSK,QAM,OFDM,CDMA,Polar码,3G核心技术,4G核心技术,5G核心技术
一面
- 题目:给定一个字符串,统计连续出现字符的个数
二面
-题目: 给定四个数,用加减乘除组成24
三面
- 不用手撕代码,一些简单的问题。
不知不觉就写到了12点,楼主要睡觉了,明早一早要去网易谈价钱了~。还是同样的话,面试很多时候会受到运气成分的影响,就像楼主没能在腾讯转正,但也正是因为没在腾讯转正,才让自己有了更多的选择,运气不会一直差,保持平常心去面对,offer会有的,祝愿大家早日上岸!
#拼多多##字节跳动##依图科技##网易互娱##360公司##C++工程师##面经#