互联网挂经合集(本咸鱼已去事业单位,勿念)
本人BAT
TMD秋招互联网offer一个没有,一个没有,一个没有;
随笔,想起来啥写啥,写点你们想看的挂经,哈哈哈哈哈
面试的都是软开(C++),基本都是远程面试,只有给报销的现场面试我才回去=
=
九月下旬就不面互联网了,之后就疯狂拒公司,哈哈哈哈哈。
当时想明白了不去互联网了,想留青岛了,青岛面了两家都拿到了,最后选择去了XXX事业单位(俩岗位要俩人)。
*这个单位面试早已经结束,软开和运维俩岗位就要两个人,如果去咨询的话,请不要透露我,我忘了让我保密到月底来着!!!!
感觉要闯祸,赶紧屏蔽了关键字
希望在青岛能过上:一狗,两人,三餐,四季的生活,哈哈哈哈,Fighting!!!
一大波挂经来袭!!!!!!
百度:放弃面试,第一次现场不给报销,果断不去,十月多给远程面试,放弃
阿里:一面挂,详见面经,最不甘心的一场,哈哈哈哈
腾讯:一面挂,一面很简单,详见面经,就一个不会,两次笔试基本都是2.9/5,然后就没之后了,emmm
字节:放弃散招面试,对不起捞我,帮我投的散招的HR了
美团:二面让转岗,不转挂掉,最坑爹的面试,以前发过怼经
滴滴:放弃面试,跟百度一样,要现场不给报销,后来给远程拒了
pdd:提前批二面聊得很来挂了,难受的一笔
狗东:get,大白菜(16+4)*14
网易:笔试挂,雷火,网易互联网提前批笔试挂,正式批不给机会,互娱放弃笔试
360:笔试挂挂挂挂,传奇的一笔,实习挂了两次,校招挂了两次,每次做360笔试,必出问题,烦的一批
华为:实习鸽了,没给面试,哈哈哈哈,实习一天就跑了,还送了一箱子粽子,实名被拉黑,。。。。就在刚刚给我了面试,拒了拒了,哈哈哈哈
小米:一面挂,正式批笔试贼简单秒ac,第二天早上就给面试通知,一面见面经,一面回答的不错,问的挺深,感觉打得不错,然鹅
商汤:笔试完没动静
旷视:一开始填了简历,没投岗位,后来发现了投了,没动静
依图:get,高性能计算软件开发,本以为四面挂了,居然过了,白菜都不给,给了个22.5*15,是孤儿就去依图,10116,真tm***,沉迷于coding,无法入睡
bilibili:笔试不难,没动静
ihandy:笔试不难,没动静
新浪:当时有事,笔试随便做了做,做的不好
图森未来:笔试挂,有点难
作业帮:笔试做的不错,没动静
爱奇艺:笔试做的不错,没动静
奇安信:拒了面试
科大讯飞:智障笔试题,做一半直接放弃了,全程行测,神经网络,闹
远景智能:笔试后没动静
流利说:智障一面面试官,见面经,最恶心的面试
猿辅导:提前批一面莫名挂,正式批笔试完之后约面试,拒了
大疆:一面挂,面试官没我简历,啥不会问啥,做C++,问Python
地平线:还没出结果,大概率挂了,貌似要人不多,给钱是真多
BIGO:比较传奇的一个公司,一面完通知过了,约的下周二面,之后没之后了,十月多打电话约我二面,拒掉
快手:笔试很水,一面劝退面,哈哈哈哈
寒武纪:面试鸽我两次,我也懒得理了
昆仑万维:get,游戏服务端开发,宣传页宣传算法35w,非算法30w起,之后开了个18*13-17,emmm1.8*17=30.6,人家没骗我啊(摔),HR人很不错,很和善
米哈游:一面挂,大学玩过崩坏2,直到大伟哥,就报了,问的很广,回答的还可以,没之后了,之后我最近沉迷于崩崩崩,怒***大伟出奇迹!
当当:get,懒白菜C++开发16*14,搜索推荐部门,部门不错,然而当当跟阿里差一个数量级
海康威视:get,白菜汤C++开发14*15,智障面试官,没啥本事,还***
贝壳:get,提前批C++开发20*16,秋招第一个offer,公司发展不错,然而听说挺累的
深信服:get,提前批北京云计算所17*15-17,听说也挺累
中车青岛四方研究所:get,传闻中的“四万所”,人力说一年给15w左右,我信你个鬼呦。
XXX事业单位:get,去养老了=
=,面试不是很难
还有一些投了没啥动静的:斗鱼、虎牙、搜狗等等,笔试鸽了的也有好几家,简历挂掉的也有,陌陌、追一科技、zoom
菜鸡总结时间
秋招offer:京东、依图、贝壳、深信服、当当、昆仑万维、海康、四方所、XXX事业单位(感谢以上公司给了本菜鸡offer,谢谢)
春招实习offer:华为、趋势科技、广联达(就这三家给了面试,当时太菜了,简历投的晚,笔试还挂了好多,忘了高通也给了,挂了)
最后去XXX事业单位(事业单位)摸鱼coding了,貌似四点下班,感觉遛狗遛断腿。。。
具体面经
实习趋势科技一面(电话)2019.04.22
13.30-14.00
1.简单自我介绍
2.多线程
3.多进程
4.多线程编程需要注意什么问题?(线程安全问题)
5.怎样解决线程安全?
(加锁)
6.讲一下锁?(悲观锁,乐观锁)
7.加锁会出现什么问题?
(死锁)
8.介绍一下死锁(死锁的定义,条件)
9.进程间通信方式(IPC)有哪几种?
10.C中数组越界怎么解决?(emmm,注意索引别超过size….)
11.继承有几种方式?
12.多态两种讲一下?
13.数据库了解吗?(只了解sql,没再问)
14.IP地址划分,分别对应的范围
15.子网掩码的作用
16.你了解那些stl的容器?
17.说一下Hash实习趋势科技二面(视频,只有我开)2019.04.22
14.20-15.15
1.项目讲讲吧
2.项目中遇到什么问题,主要是代码方向的(emmmm,没啥)
3.有没有内存泄漏
(说了个指针越界,被怼了,最后emmmm,没有)
4.你怎么处理内存泄露的问题?(这个跟上个我脑子抽了…理解错了,应该说智能指针和memcheck的,躺)
5.怎么阻止你的程序多开?(懵逼)
6.vector底层工作原理
7.怎么从控制台读入多行?
8.成员函数存在一个隐藏变量,是啥,怎么工作的?(this指针)
9.常量函数成员为什么无法调用非常量数据成员?(底层const的this指针,无法传参拷贝给非底层const的指针对象)
10.有序链表查找某个元素
(顺序查找O(N),建立跳跃表查找O(logN))
11.一个树要么没有节点,要么只有俩节点
(霍夫曼树???同学说,是不是满二叉树)
12.讲了会霍夫曼树
13.一个矩阵很多数据都是0,这个矩阵有什么应用?
(稀疏矩阵!我问你的就是稀疏矩阵,emmmm邻接矩阵?)
14.想要阻止继承怎么办
(final)
15.还有别的方式吗
(emmmmm,构造析构仍在private里面,被怼了,那怎么实例化啊)
16.Overload和Override说一下
17.项目是在win32上开发的吧,除了opencv用过什么sdk吗?(emmm。。没)
18.linux用过什么sdk?(网络的一些socket开发库)
19.网络编程server和client怎么写?
20.如果有多个client访问,你怎么设计?
(多线程,多进程,IO复用)
21.多线程和多进程你趋向于用哪一个?(多线程。。为啥不问IO复用啊)
22.大多数网络服务器设计都用啥?
(不是很懂,IO复用+线程池,依旧没问IO复用)
实习趋势科技三面(视频)2019.04.22
16.10-16.40
HR聊人生,有啥说啥
实习广联达一面(视频)2019.04.2215.15-16.00
1.笔试题第二题思路
2.c++面向对象说一下
3.虚函数怎么实现的
4.如果不用指针和引用,子类赋值给父类,会不会引发动态绑定,为什么?
5.vector底层工作原理
6.讲项目
7.讲讲最小二乘
8.为什么采用最小二乘法而不用你一开始说的三次样条
9.近处用一次函数拟合,远处用高次函数拟合,你怎么判决这个边界的
10.算法了解哪些
11.动态规划和贪心算法有啥区别,分别举个栗子
12.贪心算法有什么缺点
13.说一下机器学习吧
14.数据结构了解哪些
15.树和图有啥区别
16.什么地方会用到树
实习广联达二面(视频)2019.05.7
13.45-14.17
聊人生……
实习华为一面(现场面试)
2019.04.26
10.00-10.30
1.项目
2.C、C++
3.C++有啥不好的地方
4.线程与进程介绍一下
5.TCP、UDP有什么区别
6.DHCP了解吗
7.汇编有啥优点
8.堆和栈
实习华为二面(现场面试)
2019.04.26
15.00-15.30
1.自我介绍
2.项目(背景、具体场景、具体实现内容等)
3.比赛的时候,怎么处理队友之间的关系
4.为什么想来华为
5.平时成绩咋样
6.你对工作地点有什么要求吗
实习高通一面(电话面试)
2019.05.10
17.50-19.00
(凉)
1.自我介绍
2.指针和引用
3.堆和栈
4.设计题:按位对齐,接口设计(题目到最后都没听明白,是要干啥)
5.按位清零
6.什么时候发生进程切换
提前批拼多多一面(电话面试)
2019.08.0920.10-21.15
1.自我介绍
2.项目介绍(居然没问实习)
3.C++多态
4.虚函数如何实现
5.智能指针有几种,shared_ptr类内的use_count存在哪里?
6.进程和线程,浏览器开启一个新的page,采用进程还是线程?
7.手撕代码题:给一个N+1个数的数组,满足A[0]>A[1],A[N]>A[N-1]。最快的办法找到一个i,
满足A[i-1]≥A[i]≤A[i+1]
8.列举排序算法,那个排序算法时间复杂度最低?为什么桶计数排序能做到线性时间。
提前批猿辅导一面(视频面试)
2019.08.1010.00-10.55
1.自我介绍
2.实习项目介绍,项目中的难点
3.为什么项目中用了进程,而不用线程
4.手撕代码:自己实现链表,无序链表,对链表值奇偶分离并排序,空间复杂度O(1)
5.手撕代码:给定一个数字N(N是平方数),打印输出螺旋矩阵
腾讯一面(电话面试)
2019.08.16
18.37-19.15
1.关键字static
2.STLvector与map有啥区别,分别应用于什么场景
3.map底层实现
4.STLsort()底层实现
5.快排有啥问题
6.new和malloc有啥区别
7.库函数与系统调用区别
8.read()和fread()区别(没答上来,回来看其实就是上面那个问题…fread()是C的,忘了)
9.map中所有操作的复杂度
10.如何解决Hash表碰撞问题
11.如何改善Hash表性能
12.TCP释放过程
13.TCP拥塞控制
14.是否用过多进程,多线程,讲讲区别
15.讲到IPC中问我经常用什么方式
16.讲讲PIPE与共享内存的优缺点
17.项目中的难点
18.看过什么开源代码(没看过啥。。。讲到了Linux高性能服务器编程那本书)
19.你从这本书中学到了什么
20.多线程和多进程网络编程优缺点
提前批拼多多二面(电话面试)
2019.8.16
19.10-20.25
1.自我介绍
2.项目难点介绍(面试官觉得没啥难度…..)
3.提问项目中的一些问题
4.手撕代码:判断在旋转后数组是否是严格递增
5.手撕代码:严格递增旋转数组的最小值的下标
6.C++11有什么特性
7.智能指针shared_ptr、unique_ptr应用场景
8.shared_ptr的内部的count计数是否是线程安全的
9.那调用shared_ptr指向的对象的方法是否是线程安全的
10.如何解决线程安全
11.上题自己挖坑,讲到了一种硬件方式实现原子化。面试官:atomic这个了解吗?面试官详细的给我讲解了这个atomic类,学到了。
12.怎么去解决内存泄漏这些问题,有哪些工具
13.写程序遇到问题,怎么去调试,有哪些方法
提前批英语流利说一面(电话面试)
2019.8.17
14.30-15.00
1.项目介绍(被打断无数次)
2.文件一秒写入量是多少,你们用的SSD,HDD还是啥?(解释了一波我们是封装的image镜像,用户安装镜像的时候对机器有要求)
3.你的mentro是怎么给你分配任务的(我们leader给我分任务,有问题问mentro)
4.分布式TopK问题
5.上题如果要保证近实时,怎么设计(懵逼,提到了消息队列,后来我又否定了)
6.消息队列为啥不能实时(讲到一半又被打断,我知道概念,你不用说。我:……)
7.项目是Python的,你知道的Python怎么写测试模块吗?(???我tm面的是RD,扯了一波需求沟通的时候跟QA是一起的,不需要我写)
8.你们后台系统用的什么?(centos7)
9.为什么用7(我:……架构师订的啊,不然大家不一致……被打断)
10.你平时都用啥Linux系统,Ubuntu安装软件怎样可以不用输入yes
11.讲讲守护进程、僵尸进程
12.怎么实现守护进程(靠第三方插件配置,忘了叫啥了。面试官:我问你是怎么自己写。我:不断监测这个进程是否活着,挂掉了就重新拉起来啊)
13.前边你提到了封装image,你怎么封装的(我:……,这个不是我负责啊,image里面业务代码很多啊……)
14.以前在实验室有啥项目经历比较深刻啊(说起了电赛,还没说完被打断)
15.你就说你做了主要做了什么(没讲一会,有被打断)
16.我问你几个你们专业相近的问题(这tm你也还会),写过简单的嵌入式吧,你怎么用C进行单元测试(我:…….,胡扯一波大体怎么测试的,我tm报的是RD吗?)
17.计算机网络学过吧,chrome用过吧,正常模式、隐藏模式(我:啥玩意?),给我讲了一番,正常模式下http请求怎么不让server知道一些私密信息,你的http
request的body需要隐藏那些字段
(一开始说了个method,被怼了,也是不然server没法解析,之后说了隐藏本地ip和port,隐藏浏览器信息,问我那个字段key叫啥,忘了……)
18.
TCP三次握手知道吧,为啥是三次不是两次(想详细解释,怕嫌我话多,简单介绍了,最后问我四次五次为啥不行,我简单说了蓝军红军的那个问题,多了没啥用,不可能的完全保证100%。面试官:那TCP怎么保证可靠性的?靠得差错控制,流量控制,拥塞控制。他没话可说了,说了个…你这到最后也没解释好为啥不是两次,好时间到了,这个题跳过。我:……..)
19.
DNS解析知道吧,那我问你DNS解析的时候,DNS
server回传的报文中那个(以下没听懂)XXX和xxx和xxxx有啥区别?
提前批深信服一面(电话面试)
2019.08.17
16.50-17.20
1.自我介绍
2.都是用什么语言开发,最熟练什么
3.为什么要报云计算这边
4.平时项目中都用到了什么数据结构
5.
Hash的底层实现
6.
Hash怎么解决碰撞冲突
7.
Cache是采用RB_Tree还是Hash
table好(key
value模型提到了redis,问我会不,我说不怎么会)
8.
array和list对比
9.
C/C++程序如何编译的
10.
程序运行时内存如何分配
11.
malloc最多能开多少(懵逼?面试官提示说是开放性问题,讲了讲STL中内存分配的方法)
12.
sizeof计算给定struct,为什么
13.
如何压缩struct,不会产生内存对齐(不会…….)
14.
函数指针和指针函数区别
15.
那为什么要进行内存对齐
16.
怎么查看某个端口是否被占用
17.
进程间通信的方式有哪几种
18.
哪种效率最高
19.
僵尸进程、孤儿进程介绍下
20.
有哪些信号
21.
I/O复用的方式有几种
22.
GDB用过吗(没有,一般用VS)
23.
软连接和硬链接有啥区别
24.
硬链接支持跨区吗?(不能)为什么不支持(忘了……面试官讲解了一下)
25.
物理内存和虚拟内存有啥区别
26.
我看你项目上提到了VMware
ESX
server你了解虚拟化技术吗(不是很了解,按照普通虚拟机的方式说了说,其实就是操作系统的一个特性虚拟化,但是深了真不了解)
提前批贝壳
(现场面试)
2019.08.18
15.00-16.30
一面:
1.自我介绍
2.按照简历问,AOP解释一下
3.讲讲分布式
4.讲讲CAP原理
5.分布式中一致性有哪几种
6.
socket讲一下
7.
listen()有一个参数叫backlog,表示什么含义(忘了…回来一看,是请求队列的长度,这个确实忘了)
8.
TCP三次握手,四次挥手过程说一下
9.每一次的ack怎么计算
10.
画一下四次挥手带状态
11.
为啥建立是三次,两次行吗,四五次呢
12.
介绍一下数据结构的树
13.
嵌入式开发与软件开发有啥不同点
14.
嵌入式的大浮点怎么算(说了个一般都用现成的)
15.
进程间的通信方式
16.
死锁
17.
手撕代码:青蛙跳台阶
二面:
1.比起身边人自己的优势在哪
2.实习为啥选南京
3.数据库底层数据结构
4.讲讲B树与B
树区别
5.负载均衡方式有哪些
6.redis的sorted set底层数据结构
7.智力题:被诅咒的小熊问题(只回答上来了第一问,改变后没解决,说我陷入圈子里了,一开始思考对)
反问:后台技术栈
三面HR:
1.现在有offer了吗(木有啊)
2.拿到offer来实习的概率多大
3.要是来北京的话,预想到的困难
4.offer的选择,想去什么样的公司
5.期望薪资
6.HR觉得山东学生都喜欢去国企,问我能接受互联网的这种高压吗
阿里一面(电话面试)
2019.08.19
14.25-15.50
凉
1.自我介绍
2.深挖项目(阿里面试官确实厉害,给我发现了俩问题,后边一个没怎么讲出为什么)
3.class A是一个空类,它里面有什么方法
4.上边讲到了移动拷贝和移动赋值,讲讲
5.多态的形式
6.虚函数实现机制
7.父类的析构函数是否应该是虚函数,为什么
8.写过多线程程序吧,讲讲线程间同步的方法吧
9.dynamic_cast与static_cast区别
10.class A类型的指针,此时通过dynamic_cast转换为class B类型的指针,会出现什么问题,是否能通过编译,或者是否能运行(说是不能,但是编译错误还是运行错误不确定)
11.都用过哪些智能指针,shared_ptr与unique_ptr有啥区别
12.shared_ptr是线程安全的吗,为什么
13.有哪几种锁
14.了解
15.了解TS指令吗(不知道,后来发现其实我看过,但是忘了,pdd面试时候我还说过有一种硬件的原子化指令,但不知道叫啥,后来也没看……)
16.map是用来干啥的,底层数据结构是啥
17.STL用过吧,讲讲都用过啥
18.vector动态扩容讲讲
19.resize()与reserve()区别
20.我现在循环往一个vector里面插入10000个数据,一次插入一个,怎么高效,用resize()还是reserve(),为什么
21.迭代器什么时候会失效,哪些容器什么情况下会失效
22.map迭代器会失效吗,为什么
23.sleep()与wait()区别(只讲了wait,后来看了看居然是个Java的,我一开始以为是问的signal()与wait())
24.手撕代码,给定一个无序整数数组,输出排序后每个元素对应的下标。
注意:元素可能存在重复,如果重复则下标相同。(血崩,本以为这个题肯定有巧妙办法去实现,再就是着急写完,因为深信服约的面试时间就开始了,不可能直接进行sort,想用bitmap去写,写完之后,发现思路根本不对,当时就崩了,脑子蒙了)
深信服二面(电话面试)
2019.08.19
15.50-16.15
1.自我介绍
2.项目介绍
3.看到简历中以前项目用过ucOS,让我讲了讲
4.为啥用ucOS,不用Linux啊
5.pthread_detach()
6.pthread_join(),如果不join会有啥问题
7.64bit系统struct{char a;int b;short c};sizeof()计算
8.64bit、32bit系统指针占几个字节
9.设计一个hashtable
10.内碎片和外碎片怎么解决(…不会,只讲了讲怎么产生的)
11.说说虚拟内存
12.死锁的解决方法
13.交换机的工作原理(比较模糊的说了说,问我查得那个表叫啥,我忘了)
14.路由器的工作原理
15.平时有刷算法题吗(有点懵逼,最后还是说了,刷)
大疆一面(电话面试)
2019.08.20
14.05-14.37
1.自我介绍
2.项目中用到了uwsgi,讲讲,uwsgi底层是怎样被调用的(我理解的是监听端口,面试官表示是调用)
3.正向***和反向***
4.AOP讲一下,AOP相对于OOP有啥区别,讲讲采用AOP的优势在哪
5.熟悉的语言有啥(C/C++,了解Py),直接问我Py的生成器(不记着了)
6.数据库了解哪些,MySQL底层存储引擎有哪些,区别在哪
7.redis有了解吗(只了解基础的数据结构),讲讲有哪些数据结构
8.数据库优化问题
9.MySQL日志(数据库深了真不知道)
10.负载均衡的方式有哪几种,(说了三种,随机,IP除留取余,负载),是否所有的场景都可以依靠计算负载,去处理
11.cookie和session区别,分别存储的是什么信息
12.https讲一下
13.http请求报文结构
美团一面(视频面试)
2019.08.27
16.00-16.45
1.自我介绍
2.项目介绍
3.关系型数据库和非关系型数据库区别
4.数据库设计三大范式
5.讲讲链表
6.手写个单链表
7.手撕代码:链表翻转
8.怎么判断一个链表是否存在环
9.手撕代码:最长递增子序列
10.在学校里比较开心的事情是啥
11.想找个什么样的工作
bigo一面(视频面试)
2019.08.29
16.30-17.30
1.自我介绍
2.项目介绍
3.父进程、子进程、进程组(进程组没回答上来)
4.父进程退出了,子进程会咋样
5.终端退出终端运行的进程会怎样
6.进程分离
7.如何让进程后台运行
8.Nohups(没回答上来)
9.select和epoll区别
10.流量控制与拥塞控制
11.三次ack后,如果不采用快速重传,会如何
12.B树,B+树区别
13.聚集索引和非聚集索引
14.手撕代码:有序链表,去除重复元素
依图科技一面(视频面试)
2019-08-30
15.00-16.05
1.自我介绍
2.聊项目,问问题
3.进程线程区别
4.为什么用Python的multiprocess,为啥不用线程
5.手撕代码:topK问题,时间复杂度,代码实现
6.智力题:8*8随机01矩阵,用4*4矩阵和3*3矩阵修改为全0矩阵
依图科技二面(视频面试)
2019-08-31
13.00-14.00
1.自我介绍(提到了分布式系统)
2.介绍下了解的分布式系统
3.CAP理论
4.最终一致性策略
5.分布式系统节点分别记录访问次数,如果一台失效,如何保证访问次数数据的可靠性
6.消息队列相关(问题没怎么听懂,让我讲了讲趋势的架构何处用到了sqs,后来发现我们用的比较简单,没有再问)
7.觉得自己比较擅长啥(数据结构、C/C++、网络,自己提到了很多开源项目底层都借鉴了一些数据结构,于是乎,让我讲讲)
8.Redis用过吗(不怎么会,面试官:没事,那你思考下如何设计一面这个问题),TTL失效问题探讨,数据结构怎么设计,遇到xxxx问题,如何解决,解决了这个之后会出现啥新问题,怎么解决,连环问。
9.个人职业规划
10.对以后工作有啥追求
依图科技三面(视频面试)
2019-08-31
15.00-16.00
1.自我介绍
2.项目介绍
3.C++智能指针shared_ptr和unique_ptr应用场景(之后我就嗷嗷口嗨,说了两者区别底层原理,但是大佬问我应用场景,我就说了独占和共享,貌似不是大佬想要的答案)
4.看我之前做嵌入式,让我思考x86和arm平台的移植问题,顺便让我分析下源码到可执行性程序的过程,那些过程需要注意到移植平台的问题
5.比赛中遇到比较挑战性的或者自己解决了比较大的问题分享一下
京东一面(电话面试)
2019-09-01
14.00-14.35
1.手撕代码:二叉树路径和(根节点到叶节点)
2.手撕代码:二叉树路径和(不一定根节点到叶节点)(傻了,提示下完成,居然不知道去遍历树,蠢哭了)
3.聊项目中用到的vagrant
4.聊项目中的syslog,怎么实现的功能(跟面试官的理解有所区别,解释了一波)
5.CAP
6.Docker(了解一点)
7.RPC(不了解)
8.C++ map和unorder_map区别
9.类对象之间用”=”,会调用类的什么方法
10.如何阻止赋值构造函数
11.epoll讲讲
12.LRU设计
13.面试官介绍他们部门,询问我offer情况
快手一面(视频面试)
2019-09-01
14.45-15.20
凉透了
1.tcp发送的报文中包含了源地址端口和目的地址端口,会不会发生改变,(不会吧,解释了一波发送过程,物理层->数据链路层->网络层,经过路由过程),一般不会发生,但有时候会,继续让我思考(说到了正向反向***,面试官表示不算是),面试官提示NAT(瞬间明白了,最后让我解释了一波,我就解释了)
2.线程间同步的机制有哪些
3.CAS了解吗(知道,本以为要让解释CAS,开始口嗨,谁知道),一般加锁会陷入内核,之后让我设计一个同步操作能够不陷入内核(???CAS乐观锁不就是这么实现的,解释了一波CAS),CAS会出现什么问题(ABA问题),确实有这个问题,但是这一块涉及东西比较多(那你让我讲讲,我好口嗨啊…),让我继续思考会有啥问题?(高并发极端情况下,每次轮训失败,不断占用CPU)好,那怎么解决(加计数器,超过一定次数用加锁方式),加锁只能一个取到…….(最后都没有get到面试官意思)行,时间有限,咱换个问题。
4.思考题:编号1-n,报数奇偶分组,不断分,直到每个小组人数<=2,问最后随便给你一个人的编号,问这个人组里的另一个人编号是多少,当然也可能就他自己,不用写代码,不要直接写逻辑,找规律和公式做推导(我…….,直接崩掉)
京东二面(电话面试)
2019-09-03
17.00-17.40
1.自我介绍
2.觉得项目经验不多,让我讲讲擅长的领域(讲了分布式,后边问题全都设计分布式)
3.设计题:分布式系统海量数据订阅发布设计
4.提到aws的sns组件,让自己大体设计一个
5.上边提到了缓存,讲一下缓存设计
6.缓存的一致性问题
7.Raft了解吗(不了解)
8.一致性hash讲讲,为啥需要一致性hash
9.上边提到了不平衡问题,你说使用virtual node,vn怎么设计和分布
10.新增减节点如何同步通知到其他节点
地平线一面(电话面试)
2019-09-05
10.10-10.40
1.自我介绍
2.const关键字
3.多态的实现,虚函数实现机制
4.STL了解吗?讲一下
5.vector迭代器的失效问题
6.map和unorder_map的区别
7.红黑树介绍一下
8.C++11特性
9.移动拷贝、移动赋值讲讲
10.RPC方式(没打听清,我RPC只了解大体是咋回事,深了真不会)
11.分布式介绍一下
12.CLOSE_WAIT状态介绍一下(和TIME_WAIT混了,让讲了讲挥手过程)
13.单链表交点问题
14.栈实现队列
15.项目介绍
地平线二面(电话面试)
2019-09-05
11.05-12.10
1.自我介绍
2.实习项目介绍
3.手撕代码:人脸照片合并(并查集问题,并不会,用了最原始的办法解决了,时间复杂度O(mn2)==…)
4.聊在校的那个项目
5.想做嵌入式方向还是软件开发方向
6.问我了解地平线吗(尴尬,人家虽然叫地平线机器人,却并不是做机器人的)
地平线三面(电话面试)
2019-09-08
17.00-18.20
1.自我介绍
2.一个class有一个指针数据成员,要把它封装成库,要考虑到那些问题。继承情况下呢
3.STL六大组件介绍一下
4.Linux用过哪些框架
5.TCP的拥塞控制,两种方式分别应用的场景
6.两个数组,存的是长整型,现在交换数组元素,是一个数组的所有元素都大于另一个数组的元素,并且保证两个数组的原始长度不变,怎么设计,算法复杂度多少
7.如果两个数组分布在两台机器上(分布式),应该如何操作
8.分布式相关问题,缓存设计,分布式缓存一致性问题(讲了raft,总监提出了很多问题,最后觉得我没怎么理解,于是跳过了)
9.想去什么样的公司,实习在哪里,以后工作想去哪
10.反问1:总监是负责哪块的
11.反问2:怎么看待AI的前景
小米一面(视频面试)
2019-09-10
10.45-11.35
1.类的成员函数和数据成员分别存在哪里,类大小的计算
2.如何禁止构造函数的使用
3.如果禁止类实例化时候的动态分配方式
4.引用和指针的区别
5.实现一个类成员函数,不允许修改类的数据成员
6.那些关键字可以修饰线程安全的变量
7.TCP、UDP穿透问题(一脸懵逼,面试官解释了就是内网外网间,我说了NAT,但是NAT是网络层的,跳过了)
8.TCP断开过程
9.场景题:中英文字符计数问题(只会简单的,复杂的没想明白)
10.手撕代码:利用无序数组非递归方式建立BST,并迭代中序遍历输出
米哈游一面(电话面试)
2019-09-16
11.00-11.50
1.class和struct区别
2.static关键字
3.虚函数实现原理
4.用过什么设计模式,了解单例模式吗(没怎么用过,但是知道一些,没再问)
5.map和multimap区别
6.array和list的优缺点,使用场景
7.快排的思想,时间复杂度
8.Linux进程和线程
9.TCP建立连接过程
10.为什么要有TIME_WAIT这个状态
11.nagle算法介绍,nagle算法有什么问题(说了TCP粘包问题,面试官补充了一下时延问题)
12.数据库事务和ACID
13.Linux性能调优,如何发现及诊断问题
14.
设计题:笔试问答题AOI游戏视野发现问题,思路讲解
依图科技四面(现场面试)2019-09-18
13.20-14.10(我服,真不会)
1.手撕代码:最长重复子串
2.客户端到服务端底层流程(打算从五层协议开始说)不要跟我说网上常规问题的那些答案,我知道你们经常看,你就说说从客户端和服务端一个main()函数执行到结束过程,(emmmm?我就讲socket通信过程)
3.read()和write()在内核是怎么实现的(??懵逼扯了一些用户态到内核态,没啥用确实不会)
4.内存模型了解吗(请问是不是问内存置换算法?)不是(那是不是问的虚拟内存概念)不是,你知道的zero
copy吗(懵逼,不知道)
5.C++、Java、Python内存模型了解吗(请问是程序运行时的内存分布吗?)差不多,那你就讲讲堆和栈(终于一个常规题了,疯狂输出一波)那你知道Java和Python的吗(懵逼,只知道Java有gc,也不懂)
6.高并发服务器怎么设计(多进程、多线程、IO复用)IO复用讲一下(一个进城轮训实现,select、poll、epoll)那你讲讲IO复用内核是怎么实现的(懵逼,不知道)
7.三种智能指针说一下(常规题),三种分别是干什么的(weak_ptr解决shared_ptr循环指向无法释放问题只记着大概,细节没讲清楚)
8.unique_ptr底层怎么实现的(讲了通过封印拷贝构造函数和赋值运算符去实现)
当当一面(视频面试)
2019-09-19
14.00-14.30
1.项目介绍
2.手撕代码(讲思路)两个数组求交
3.手撕代码(讲思路)队列模拟栈
4.C++多态方式
5.为啥会有多态,多态主要干啥
6.指针和引用
7.数据库连接有哪几种
当当二面(视频面试)
2019-09-19
16.00-16.36
1.自我介绍
2.项目介绍
3.手撕代码(讲思路)括号匹配问题
4.手撕代码(手写)最长有效括号的长度
海康一面(现场面试)
2019-09-20
1.自我介绍
2.项目介绍(实习,校内)
3.场景题:一个摄像头节点只允许三台client接入,目前有100个client需要接入这个摄像头,如何设计?
4.场景题:如果这个摄像头在局域网内,另一个client在另一个局域网内,client如何接入摄像头?
5.场景题:有一个节点,接收n个摄像头的流数据,但是这个节点带宽有限,如何解决这个问题,流数据已压缩,不允许再次压缩,同时n个摄像头一直有数据流
6.类的函数成员后面被const修饰,问这个函数成员是干啥的?
7.int* a=new int[10];delete a;会出现啥问题(会造成mem,讲了一波肯定用delete[]啊,解释了一波delete[]底层原理)你确定吗?(确定啊)跟我说不会(我:emmmm????,内心质疑,表面表示会回去详细看看,tm还真是他说的,***,书上明明写的必须用delete[])
当当三面(视频面试)
2019-09-20
19.30-20.00
1.自我介绍
2.项目介绍
3.排序算法
4.快排和归并应用场景