找暑期实习期间积攒的面经
我总结了一些面经,面经按照时间顺序排列,攒攒人品,希望我秋招能有个好运气,好结果。
1.美团一面
1.自我介绍
2.自己挑一个项目讲一讲
3.vector的内部实现
4.vector的扩容原理
5.数组和指针的区别
6.TCP和UDP的区别
7.视频交流是TCP还是UDP
QQ或微信好友在聊天室聊天用TCP还是UDP
登陆时使用的是TCP还是UDP
8.HTTP常用状态码
9.HTTP1.0,1.1,2.0的区别
10HTTP1.1和2.0长连接的差异
11.事务的隔离级别,存储引擎的默认级别
12.B和B+树的区别
13算法题:
反转链表
leetcode 206
2.字节跳动一面
1.自我介绍
2.问项目
3.TCP和UDP的区别
4.TCP如何进行拥塞控制
5.Redis有用到过吗
6.消息有用到过吗
7.死锁的条件,解决死锁的方式
8.进程通信的方式
9.MySQL查询
一个表中,有用户和登陆时间,查询近7天的平均每天登陆人数
一个表有登陆时间和用户,查找每个最早的登陆时间
10.算法题:
另一棵树的子树
leetcode 572题
3.腾讯一面
1.虚函数的原理
2.虚函数表的数据结构
3.重写时如何找到对应的虚函数指针并替换
4.重写,重载,和覆盖的含义
5.问C++11相对于98认为的新变化,说一个C++11的新特性
6.问unique_ptr如何实现不可以共享的
7.inline函数能是虚函数吗?
8.static函数能是虚函数吗?
9.vector和list的使用如何选择
10.口述快速排序的过程,快排的平均复杂度和最糟糕的复杂度是多少,最糟糕的情况有什么,如何解决
11.topn,前k个最大值,用什么找
12.tcp三次握手的过程
13.tcp为什么要四次挥手
14.epoll原理以及为什么选择它
15.单例模式如何实现的
16.用轮询算法给线程分配任务,会不会出现有的线程任务重,有的线程任务轻导致不平衡。
17.合并两个链表,归并算法
leetcode 21题
4.百度一面
1.自我介绍
2.算法题:leetcode151 反转字符串中的单词,但不反转字母
3.算法题: leetcode 297 二叉树的序列化和反序列化
4.get和post的区别
5.OSI七层模型,tcp,ip在那一层?
6.tcp三次握手
7.HTTP和HTTPS的区别
8.SSL加密过程
9.为什么用对称加密和非对称加密两种来进行加密
10.说了解的HTTP状态码
11.输入url是怎么请求到服务器的
12.ip地址如果有10台机器,具体到哪一台机器是由什么决定的
13.代理服务器的作用
14.常见的负载均衡策略
15.InooDB的优势
16.事务
17.隔离级别如何实现的
18.MVCC多版本控制
19.进程间通信方式,以及具体的特点或者怎么选择使用,应用场景是什么
20.进程线程,协程的区别
21.IO多路复用
5.阿里一面
1.对C++的看法和理解,结合面向对象
2.讲讲C++的继承、封装、和多态
3.同一个子类的两个对象的虚函数有什么关系
4.C++编程时遇到什么问题,以及如何解决的
5.遇到内存泄漏如何排查
6.数据结构,介绍以下快速排序,和归并排序的思路
7.平衡二叉树,AVL,以及如何插入元素,时间复杂度
8.阻塞式IO和非阻塞式IO是什么
9.IO多路复用
10.怎么想到做自己这个项目的
11.epoll的边缘触发,有哪些需要注意的点
12.线程池是如何实现的
13.tcp一个非阻塞的连接,要一次发送2000字节的字符串,调用发送后,可能的返回结果是什么,是什么原因造成的(除了拆包以外的结果,不知道)
14.广播和组播
15.常见的网络协议有哪些?
16.进程和线程的理解.
17.协程
18.中断一般指的是什么
19.用户态中使用读,会怎样在用户态和内核态中拷贝数据?
20.设计模式有接触过吗?
21.分布式,集群有接触过吗?
22.如果出现了一个新的技术领域,如何较快的去了解这个领域
23.说一说对chatgpt的了解
24.什么时候用过chatgpt
25.项目或者以前有没有啃硬骨头的经历
26.算法题:内存分配
27.算法题:遍历二叉树,非递归版本
6.腾讯二面
1.你有什么优势
2.两个数组能不能相互赋值,能否使用什么转换强制的赋值(后面这个没听清,不懂啥意思)
3.右值引用和移动构造如何理解
4.构造函数可以是虚函数吗
5.插入排序是稳定的吗?
6.快速排序过程,快排的时间复杂度,以及快排如何优化让时间复杂度稳定
7.你的项目,你学习的点在哪里,有哪些不一样?
8.http的get和post怎么处理的
9.post怎么处理文件边界的
10.怎么用多线程实现高性能的上传和下载文件
7.拼多多一面
1.死锁产生的条件
2.预防死锁
3.项目中用到了多线程,那么多线程开多少个线程比较合适
4.项目中可能会发生死锁吗?
5.进程和线程的区别
6.进程间通信方式有哪些
7.数据库中ACID指的是什么
8.事务的隔离级别
9.arp协议和ICMP协议分别是做什么的
10.time_wait状态是做什么用的
11.tcp的拥塞控制是怎么实现的
12.https的理解和过程
13.为什么用对称加密做通信?
14.快速排序是如何实现的
15.归并排序是如何实现的
16.红黑树是做什么用的
17.算法:爬楼梯,不能连续爬两次两阶楼梯
18.算法:如果一个值能用素数的平方,素数的三次方和素数的四次方之和(三个素数可以不同),即为目标数,那么五千万之中有多少目标数?
8.阿里二面
全程聊天,略
9.拼多多二面
1.为什么要做这个项目,为什么用C++写这个项目
2.get和post的区别
3.项目中有遇到困难吗?或者特殊的难点之类的
4.项目大概做了多久
5.有和业界做过对比吗?有调研过别人怎么做的吗?
6.你这个项目有什么区别之类的吗?
7.项目的内存有多大?
8.怎么衡量这个项目符合预期?
9.大致介绍一下第二个项目。
10.一句话介绍一下amcl算法
11.A*算法的伪代码
12.优先级队列的第二和第三个参数
13.A*和其他最短路径算法的优势
14.二分查找,找第一个target
15.两个字符串,判断一个是不是另外一个子序列
16.有一个字符串,找一个子串,包含了字符串中所有字符种类,并且要求最小(字典序的最小)
17.反问
10.拼多多主管面
1.自我介绍
2.介绍一下项目如何做的
3.除了模拟proactor模式之外还有什么模式吗?
4.为什么选择模拟proactor模式
5.两种模式主要区别是什么
6.听起来reactor好像会更快一些,不考虑实验结果,分析一下reactor如果更快的话为什么快
7.IO复用主要复用的是什么,有什么好处吗
8.线程池是怎么做的?具体是怎么工作的?
9.进程和线程的区别?为什么上下文切换的花销不同
10.一个进程有多少个堆和多少个栈
11.用户栈和内核栈的区别
12.操作系统怎么知道自己是用户态还是内核态
13.虚函数怎么实现的,虚表的结构是怎样的,以及如何知道虚函数要调用虚表中的哪个函数指针
14.算法题:有一组数组,然后其中的值有的是key有的是value,第一个key后面跟1个value,第二个key后面跟两个value,以次类推,并且key的大小是递增的,要求找到某个key的下标,如果没有返回-1
15.算法题:把不重复的相邻元素保留,重复的相邻元素不要,如果是重复的不相邻元素,也要保留
16.什么是内存泄漏,内存泄漏的危害,内存泄漏的是物理内存还是虚拟内存,物理内存能被操作系统进行交换,为什么还会有危害
17.交换的成本
11.华为 一面
1.项目大致讲一讲
2.可以同时容纳多少人访问
3.怎么确保文件并行保存的?
4.大致讲一下竞赛项目
5.机试复盘,大致讲一下做出来的题的思路
6.算法题:
给定一个n,输出二进制字符串的形式,然后追加了一个输出八进制字符串的形式
7.反问
12.华为主管面
全程聊天,略
13.拼多多hr面
全程聊天,略
14.招行fintech夏令营
1.介绍第一个项目
2.介绍第二个项目
3.http和https的区别
4.对称加密和非对称加密
5.知道哪些非对称加密算法
6.长连接和短链接
7.http1.1和http2.0
8.hr问题
15.腾讯云智一面
1.算法题,具体题目忘了
2.服务器体系NUMA
3.什么时候会用锁
4.锁有几种,以及各自的特点
5.tcp,udp
6.可靠的udp知道吗
7从一个linux登陆到另外一个linux服务器上
7如果用top发现一个进程繁忙,但是又不想要这个进程
#我的实习求职记录#