研二师弟拿下微信 offer
Posted herongweiV
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了研二师弟拿下微信 offer相关的知识,希望对你有一定的参考价值。
大家好,我是小贺。
考虑到最近校招已经开始了,最近会多分享一些校招秋招经验!
前段时间有位研二师弟经过自己的努力终于拿到了腾讯微信的实习 offer,跟我分享了他春招过程和实习感悟。
我看了感觉还是挺有意义的,特意整理出来跟大家分享一波!
本次分享主题:第⼀次实习面试感悟以及面试经历,分享⼀些踩坑的点。
面试感想
现在互联网大厂的面试主要分两个部分:八股文和算法。
八股文,我认为无非就是计算机专业基础课程,具体不细说,各种面经都有说,取胜关键在于对每个知识点要透彻,有自己的见解,不要为了面试而面试。
这样的好处是经得住问,能让面试官看到深度。有深度,喜欢钻研的话会得到面试官的青睐,也是以后工作中需要的。
举个例子:TCP 的三次握手,除了大家常说的三次报文的标识位信息、客户端和服务端状态码,还需要知道为什么要三次握手。
如果最后一次握手不成功会怎样,如果会重发报文的话是怎么样一个机制,以及最终无法建立连接,服务端会如何断开连接。
以及和第一次握手相关的 SYN 泛洪攻击导致什么结果,TCP 等待队列满了会如何处理后续 SYN 请求等等。
算法,除去思维能力因素,我认为就是见多识广。很多题的确是如果没有刷过就没有很好地解决方案。
所以平时有部分题是需要 coding 来练手感的,但更多的题即使没有时间刷,也可以看一下解题方案,拓宽自己的思路。
下面是师弟的面经。
面经
2021.3.3阿里电话面(阿里云流量产品事业部)
vector 底层实现
set 底层实现
map、mutimap、unordered_map 底层实现
C++ 多态的实现方式
C++ 重载的方式(const)
流量控制
拥塞控制
2021.3.3蚂蚁金服电话面( oceanbase 分布式数据库团队)
引用和指针的区别
进程间通信的方式
new/delete 和 melloc/free 的区别
死锁产生的场景
构造函数里 new 自己
算法题:寻找两个节点的公共祖先
2021.3.4蚂蚁金服视频面( oceanbase 分布式数据库团队)
数据库的特性
数据库的隔离级别
算法题:花园(二分)
2021.3.6阿里云电话面( PolarDb )
10w 个数求 3 个数的和的绝对值最小
n 个小于 1000 w 的数(每个数只出现一次)进行排序
两个字符串的公共子序列
求两个链表的公共节点
struct 的对齐
小贺bb:看来阿里云面试喜欢注重底层源码,电话面直接就开始问各种容器的底层实现。
如果没有深入了解过,这谁 hole 住,但不用慌!
如果对 C++ STL 相关源码不太了解的话,小贺为你量身准备了 STL 源码剖析系列,助你起飞!
2021.3.5百度一面(搜索架构部)
项目
C++11的特性有哪些
智能指针如何实现的
右值引用
指针和引用的区别,什么时候用引用不用指针
C++ 的默认函数有哪些
什么时候生成这些默认函数
mysql 的引擎有哪些
索引的底层实现是什么
B+ 树的特点
内联函数是什么,内联函数和宏定义的区别是什么
mysql 随机查询和排序的优化
算法题:从根节点到叶子结点的路径和为m的路径
2021.3.7百度二面(搜索架构部)
哈希冲突的解决办法
一致性哈希
内存置换算法
线程通信的方式
多态,重载,重写
TCP 和 UDP 的区别
数据结构是用来解决什么问题的
算法题:aaabbccccddd->a3b2c4d3
2021.3.8百度一面(智能办公平台部)
TCP 和 UDP 的区别
C++11 的新特性
智能指针 delete 的是指针还是指针数组
Lamada 表达式
Reactor 和 Proactor的区别
Epoll 的使用过程
删除链表中的节点(释放内存)(添加头节点)
2021.3.10百度二面(智能办公平台部)
介绍项目点播
手写智能指针
Reactor 和 Proactor的区别
sql 建表,查询数据库有多少表
命令模式
微服务的优点
ET 模式的优点
Redis 的数据类型
其他非关系型数据库
小贺bb: 百度的搜索架构部属于百度搜索的核心部门了,想当年,小贺面试百度的也是这个部门。一面就手撕四五道算法题!
2021 .3.13奇安信一面和二面
HTTP 相关的安全问题
Cookie 和 session 的区别
路由选择算法
一亿个浮点数排序
基数排序的过程
建表的 sql 语句
数据库的索引的实现场景
Linux 查询文件中字符串的命令
Linux 查询进程的命令
Ngnix 底层
Redis的命令设置传输五个数
Epoll 的实现
TCP 和 UDP 的区别
模板为了解决什么问题
C 里面的函数:int 转字符串
单例模式场景
数组的内存模型
进程间通信的方式
本地套接字和远程套接字通信的区别
输入一个 URL 过程
作品项目遇到的问题
重载和重写应用的场景
线程池是解决什么问题的
Linux 的文件系统的位运算
函数指针怎么用
小贺bb:奇安信的前身为 360 企业安全集团,2019 年更名为奇安信集团,主要是做互联网安全相关的。
2021.03.17腾讯 一面二面
map、unordermap 区别,适用场景
vector 的扩容机制,扩容以后原来的迭代器是否有效
Lamda 表达式的传入所有的变量
vector 的 push_back 和 emplace_back 的区别
手写 LRU
手写 String
TCP 的四次挥手
Reactor 模式如何解决 IO 密集型问题的
Epoll的机制
多态的底层
Linux 下如何查看 CPU 使用过多的情况(top 、top -H -P 进程ID、jstack -l 进程ID |grep 线程ID -A10 )
2021.03.19腾讯 三面
Epoll 的 ET 模式需要注意什么,如何确保缓冲区的数据被读完
Reactor 模式是什么
协程是什么,和线程的区别
线程调用了 exit(0)后发生了什么
线程同步的方式除了加锁还有什么
信号量和 mutex 的区别
进程通信的方式
算法题:寻找两个子节点的最近公共父节点
C++ 新特性中的哪里用到了协程
IO 多路复用
线程变量
线程安全如何实现
看得出来,腾讯的面试比较重视基础,计算机基础真的要一定要重视,基础不牢,地动山摇。
2021.03.18字节 边缘计算部门一面
Http 请求的过程
乐观锁和悲观锁的区别
算法:找到无序数组中第一个缺失的自然数
数据库索引的分页如何实现
2021.03.22 字节DATA 部门二面
手写智能指针、指针给了智能指针原指针还能用吗
命令模式解决了什么问题,和策略模式的区别
当前主流 Linux 系统的 CPU 调度的时间复杂度
创建线程的方式,创建线程是否可以传入调度算法
new delete、malloc free 类型转换
C++11 新特性
TCP 保证可靠性的机制
2021.03.22 字节DATA 部门三面
算法:大数加减法
TCP 如何实现零次握手
TCP 三次握手过程
最后师弟选了腾讯微信部门的后端实习,祝福他!
也希望这些分享对你有参考作用。
我是小贺,我们下期再见。
推荐阅读
·················END·················
你好,我是 herongwei,一个普通的宇宙中心五道口程序小哥,热爱编程,热爱生活,热爱分享,在平凡的人生中追求一点不平凡,欢迎关注,一起加油,点击下方名片,了解更多。
以上是关于研二师弟拿下微信 offer的主要内容,如果未能解决你的问题,请参考以下文章
职级2-2!4面字节拿下30K*16薪Offer,吊打面试官,师弟yyds!
2021年转眼已过半,终于圆梦大厂了!啃透6大高频考点,顺利拿下阿里35K*16薪offer
面经分享:程序汪培训转Java粉丝拿下大数据和电商offer,分别13K和15K