互联网挂经合集(本咸鱼已去事业单位,勿念)
开局雷击,牛客惯例,先装一波B,
本人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. STL vector与map有啥区别,分别应用于什么场景 3. map底层实现
4. STL sort()底层实现
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觉得山东学生都喜欢去国企,问我能接受互联网的这种高压吗
7.招聘信息都在那看(牛客啊,必须牛客啊,哈哈哈(~ ̄▽ ̄)→))* ̄▽ ̄*)o)
阿里一面(电话面试) 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. 了解<atomic>吗,底层是怎么实现的
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 leak,讲了一波肯定用delete[]啊,解释了一波delete[]底层原理)你确定吗?(确定啊)跟我说不会(我:emmmm????,内心质疑,表面表示会回去详细看看,tm还真是他说的,***,书上明明写的必须用delete[])
当当三面(视频面试) 2019-09-20 19.30-20.00
1.自我介绍
2.项目介绍3.排序算法
4.快排和归并应用场景 #京东##快手##米哈游##地平线##校招##C++工程师##面经#