春招互联网面经汇总

笔主研二,这一个月在找暑期实习,参加了阿里钉钉,阿里云,美团,腾讯,字节跳动,cvte,深信服等公司的面试,现在已经拿到了腾讯和阿里的offer,这个过程有失有得,我就简单分享一下自己的经验。
大部分公司都是二面+HR面,部分公司和岗位会采取3/4面+HR面的方式

互联网面试需要哪些东西?

那么,互联网面试需要准备哪些东西?

**首先,一份合格的简历。**排版,内容至少看得过去,有比赛项目最好,没有自己的项目那就去做开源项目,把开源项目吃透。

其次,基本的IT知识素养。面试官常问的无外乎是计算机网络数据库系统操作系统以及语言(c++或java,根据面试岗位和你自身简历待定),上述这三个可以说是面试的三板斧,千万不要说某一样没有学过,老师没教就去找资料学习。前期建议看书但是不深挖,而后结合网上其他人的资料继续深挖,总结一份自己的面经。你总结的面经就是你的面试宝典,等这段时间实验室项目做完了我会把自己之前总结的面经发出来,供大家参考。

再次,不俗的算法功底。这个就是常说的刷题,建议新手先刷剑指offer,第一遍肯定很难受但是坚持下去,结合书本自己手敲代码,第二遍尽量不参考题解自己写。而后可以开始刷leetcode,这里推荐一个公众号,labuladong,我个人觉得这个对新人比较友好。

再次,其他的东西。面试有很大的运气成分,有的面试官喜欢问项目,有的喜欢问基础,还有的喜欢问智力题,场景题,这就需要你在空余时间进行积累。

最后,丰富的经验。我强烈建议你在这段时间去投一下某些公司的日常实习(牛客网校招实习板块),去体验一下面试的感觉,面试必须以面养面,只有这样你才会发现,面试就那样而已,跟考试没什么区别,只要自身素质够硬,甚至很简单。

面经汇总

接下来看看互联网公司一般都会问什么问题。

阿里一面&CVTE&深信服一面

注:这三面连在一起,分不清哪个面试哪些了···

自我介绍
系统调用跟中断有什么区别联系?
Linux常用的系统调用有哪些?
线程有独占的资源嘛?什么东西?
智能指针你知道有哪些吗?
autoptr有什么缺点?为啥会被舍弃?
uniqueptr知道吗?有什么特点?可以复制吗?内部怎么实现的?
tcp的重传机制了解吗?能不能讲讲快速重传吗?
拥塞控制和流量控制了解吗?两者分别处理什么情况?
虚函数表了解吗?存在哪的?为什么(移动拷贝赋值)构造函数不能是虚函数呢?为什么析构函数需要时虚函数?
静态成员函数有什么特点?
如果两个线程交替打印string a b ?会不会出现字符乱序?字符输出不全?怎么解决呢?那如何让这两个线程安全打印?
atomic了解吗?它底层是怎么实现的呢?
知道tcp沾包和半包吗?怎么造成的?在接收方怎么解决呢?
可以说一下管道吗?怎么实现的呢?是否堵塞呢?是否有大小呢?
可以两端同时写入吗?
tcp和udp有什么区别吗?tcp可以一对多吗?udp可以一对多可以多对一吗?可以多对多吗?
timewait知道吗?这个状态主要是来干嘛呢?为什么2msl呢?这有什么弊端,如何解决呢?
深度学习相关的一些问题(项目相关)
cmake和make知道吗?有啥关系?交叉编译会吧?怎么实现?
new和malloc知道吗?new跟malloc有什么区别吗?
野指针知道吗?怎么造成的?应该怎么避免?
vector和list的底层实现了解吗?
hash表知道吗?如何解决hash冲突?
用什么数据结构实现100万级别的数据量的毫秒级访问?冷热数据?
hash因子多大合适?会不会内存占用太大?
求从0到(x,y)到的走法,怎么实现?
统计学怎么计算呢?
linux比较熟悉是吧?那怎么实现对一系列文件的进行文本匹配呢?cat只是单文件,多文件是什么?
arp协议有什么用?有什么缺点呢?
socket编程知道吧,讲讲你的理解?
怎么调试程序呢?windows和linux?
new分配内存失败会怎么样?
算法题,一堆数字中有若干个0,如何将0给移动到最前方并且其他数字的顺序不变?
算法题,找到一个乱序数组中的重复数字和缺失数字。

阿里二面

自我介绍
堆栈的数据结构是什么?
mqtt的底层实现,有没有一个消息反馈的机制?
路由表由什么实现的?里面存了什么东西?
你项目的多线程管理架构说说,怎么实现线程间通信的,怎么实现线程管理的哈?
求取cpu的内存使用,上升到下降的时长?
介绍一下你项目的难点,收获?
cyber具体的处理机制是什么样子的,能否详细解释一下?
协程知道吗?有什么用?优先级?
vs和文本编辑器打开一个大型的文本文件的速度为什么不一样?(vs不会卡,txt文本编辑器会卡,局部渲染和全体渲染的区别;多线程读取)
算法题:
实现字符串转数字?(剑指offer倒数第二道)
计算数组的逆序对?(剑指offer)
逻辑题,1 2 3 4 四个数字都有两个,实现两个1之间有1个数,两个2中两个数···

腾讯一面二面

自我介绍
Redis的hash表的底层结构是什么?
atomic和memory_order的关系?
set、map的底层结构?
deque的底层结构?
Redis hash表冲突之后怎么做的?
红黑树为什么好?
redis中hash表是怎么个rehash的呢?
redis因何高效?
算法题:
手写LFU算法?
剪绳子?(剑指offer)

美团一面

自我介绍;
linux (两道场景题)awk,sort排序命令,硬盘容量df还有其他的嘛?–du;
git,合并代码,处理冲突,pull和fetch,查看当前分支,合并分支;
七层结构、TCP/UDP区别、TCP三次四次;
进程线程、分页分段、线程通信、进程通信、进程调用算法;缓冲区溢出是什么,有什么危害,怎么造成的?
Redis的内存过期策略;消息淘汰;五种数据结构的底层;为什么Redis很高效?
算法题:反转链表II
逻辑题:
5升桶 3升桶,获取4升水;
九个小球,其中一个有珍珠,重一点,有一个天平,称两次找到有珍珠的那个?

美团一面(others)

自我介绍
多态
Linux常用命令
I/O模型
tcp、udp区别
虚函数实现原理
远程登录服务器
为什么要四次挥手
new、malloc
内存管理
网络缓存
消息队列
多线程互斥、锁
常用状态码
网络请求有哪些方法
数组和链表
红黑树性质
算法题:股票买卖(单次)

PS:上面的面经只记录一些比较重要的问题,一些太简单以及闲聊略去了,还有一部分面试由于感觉太简单甚至都没有记录····之后我会分享一下自己总结的面试笔记分享出来,有什么问题可以留言。

你可能感兴趣的:(学习笔记,算法,面试,编程语言,c++)