一些面试记录,希望能帮到某些同学吧
题主机械本硕,有幸转行成功。这段时间牛客网的帖子帮助很多,不过秋招已经过了大半,这篇面经的作用有限,希望能帮助到一些同学吧。主要记录了比较重要的一些公司,没参考意义的就不写了。
另外,不管现在结果如何,希望大家都是坚持下来,最终有个好的结果。
暑期在实习,到9月初从实习公司辞职,开始正式秋招。
搜狐媒体部——后台开发工程师(第一个面试,二面挂)
线下笔试第二天就面试了,投的后台开发
1面
由于是Java后台,项目和语言均不对口,手写了3道leetcode的easy题(链表反转、二叉树镜像和int数中1的个数),最后问了2个思路题(已知random1~5的函数如何输入random1~7),一个贝叶斯模型的求解
2面
语言和项目不对口,上来直接做了1到leetcode的hard题(Max Points on a Line ),并要求给时间复杂度和空间复杂度,思路很清晰,但是写的时候涂改了一些,不是很好看,问了一个同步异步阻塞和非阻塞的区别,问了下项目,然后gg
汇智通信——C++开发工程师(默挂)
线下笔试
1面
最奇怪的面试,1个面试官对7个面试者,第一轮每人回答1到2个问题,第二轮抢答。。。
问到的知识点:
C++单例模式、返回time的函数返回值的含义、socket编程流程(伪代码实现),map查找重复值的函数、map的实现原理和红黑树的特点、main函数传参的意义、返回的数由什么地方来处理、快速查找、进制转换、3种继承方式、析构函数和虚函数、3次握手4次挥手、linux单步调试、linux启动流程和具体工作、http报文结构包括哪些层,每层的结构和功能、extern"C"的作用(平均到每个人就2到3个问题,很奇怪的形式)
2面
人生理想,还聊了人工智能和未来的发展。。。然后挂了
vivo——Android系统工程师(C/C++)
1面
自我介绍、项目介绍、多态(从编译时多态和运行时多态答)、socket相关的问题、linux常用指令,其他的忘记了,主要是C++背书题和网络的知识,基础比较重要。
经典问题:你觉得你和计算机专业的有何优势劣势?
2面
自我介绍、是否有女朋友、offer数、业余爱好等
这是我的第一个offer,当时的心情一言难尽,反正真的很开心,对于转行的我,真的是莫大的肯定。记得找实习连面试都没有,4月份的时候想着回去找机械的工作算了,还看了一段时间机械的书,最后实在是没兴趣,才下定决心,就算找到春招也要转,才坚持下来。
oppo——Android系统工程师
1面、2面、3面(HR面)、4面(高层面),技术问题都忘了,HR面感觉很不错,聊到最后人都走光了,就剩我和HR。。。
华为(资源池)
笔试3AC
1面
1.自我介绍
2.说说你对计算机网络掌握哪些。。。
3.根据我说的知识点,抽问。讲下TCP/IP模型,每层对应的协议。。。
4.socket编程流程,状态转换流程,编程函数和状态的对应节点
5. backlog的意义,time_wait 2MSL的作用和意义
6. close_wait状态
7.TCP/IP中的算法,知道的都说一遍,快重传,Nagle算法,滑动窗口等
8.计算机存储知道多少,说说看。。。
9.说下如何优化计算机I/O存储速度,
10.讲讲你知道的存储,讲了存储的柱面、扇区等
11.多态
12.构造函数是否能为虚函数,构造顺序和析构顺序
13.指针常量和常量指针
14.设计模式,单例和观察者
15.讲讲如何保证代码的可靠性
16.项目,画项目简图
17.实习期间的工作,具体分工,具体职责,代码多少?
18.MVC模式。
19.消息分发机制,如何实现的?
20.你和计算机专业相比的优势和劣势?
21.string 的构造次数
题目如下 string a = "123";
string b = "1234";
string c = a;
string d = a+b+"123";
问没行各调用了几次构造函数,分别是
22.本来要我写memmove, 我说不怎么用c的库函数,就让写了一个很简单的strToInt函数
还有些小问题,忘记了,面了1个小时,问得比较细和深,难度比网上说的提高了,不知道是不是缩招的原因,还是单纯的面试官的原因。
2面
1.自我介绍
2.平时的业余爱好,锻炼多不多。阅读量大,到底有多大。。。
3.项目介绍
4.如何缓解压力,释放压力
5.工作地点
6.面试岗位
7.非计算机优势和劣势
8.自我评价,贴标签
9.说深圳没有岗位。。。不考虑其他城市吗。。。
问了些简单的技术问题都忘了
海康威视
1面
自我介绍
项目介绍
画项目数据流程图,
讲讲图片从进入到最后处理完显示的过程
为什么选择C++?为什么不选择Python。
如何优化
重构的思路
如何控制数据流?
由于实验室项目做的是视频流图像检测,项目算对口,所以全程都在问项目细节和项目优化,尤其是如何对视频流如何优化(这个在做项目都没想过),在提示下好像答到面试官想要的答案,然后面试结束。
2面
聊人生和规划,***格
自我介绍
非计算机的,优势劣势
如何证明自学能力
实习期间做的事情
怎么证明自己胜任C++岗位
性格
和朋友出去一般玩什么
怎么面对压力
经典问题:你是机械专业的,如何和计算机专业的比?
大疆
电话1面
1.自我介绍
2.项目,介绍比较有印象的一个项目,介绍MVC模式
3. TCP/IP如何保证长连接安全?
4.Socket通信中如何处理1个服务器和1个客户端有多个长连接?
5.C++多态实现机制。
6.模版和类封装各自在什么不同的情况使用,各有什么优缺点?
7.设计模式,***模式,非多线程的单例模式和多线程的单例模式。
8.C++内存管理。
9.http和https的区别。
10.快排。
11.如何自学的?
12.有什么问题想问的。
大概40分钟。
电话2面
自我介绍
项目介绍,MVC模式。
工厂模式。
socket编程。
TCP和UDP的优缺点
单例模式。
多态实现机制。
堆的数据结构?提示了最大堆和最小堆。
介绍下平衡二叉树?
类中哪些函数不能为虚函数? 答完跟进,static成员函数如果想实现虚函数的功能,怎么实现?
消息分发机制。
C++11的auto和lambda。
是否看过游戏引擎或者图形渲染的开源库?
对PC客户端开发的理解。
项目2个成员做同一个模块,技术上面有冲突,如何解决?
如何保证多人项目合作进行软件开发?
接下来1年的计划?
有什么想问的?问了技术栈的问题
大概40分钟。
现场终面
项目,项目难点,如何重构
如何优化CPU占用率?
条件断点运行速度很慢,怎么解决。
算法题2道,
一个求数字中1的个数,写完O(n)的要优化到O(1),优化到O(1)想到hash表,但是没想到合适的实现方法。
写一个2分查找
hashmap的底层实现
vector的底层实现,有什么特点。
TCP和UDP的区别。
TCP的数据包结构。
http的端口。
聊人生。
有什么想问的?
为什么要选你?(其实原话是:我前面面试了那么多简历比你优秀能力比你强的,为什么要选你。。。)
机械学的怎么样?
大概50多分钟。
中兴
1面
基础和项目,都比较简单,有点印象的是问存储的时候,先问了存储器的层级结构,答上来后追问了一个我都完全没听过的知识点(尴尬)。。。然后直接说不会。。。后面直接做了2个笔试题,关于构造函数和析构函数的调用顺序的。
2面
英语自我介绍,人生理想等等。
腾讯——PC客户端开发方向(1面面了1个多小时,挂)
自我介绍
说一个你觉得最难的项目。
你项目中的难点。
C++的内存布局(答成了内存对齐。。。)
内存对齐是什么,实现原理
为什么采用对齐,理由?
怎样实现一个最小类或者结构体。除了不让内存对齐,还有其他方式吗?
函数的调用怎么实现的,传参呢?
看过哪些书?
对游戏感兴趣吗?
接下来的规划。
有了解游戏那边的实现原理和开发流程吗?
TCP和UDP在游戏通信中的选择和原因。
为什么要采用UDP。UDP丢包了怎么办?
说说你知道的排序算法以及特点。基本的都说了。
知道图像压缩算法吗?知道哪些?
最短寻路算法。
如何判断一个圆和线段的交点。
如何判断一个点是否在扇形区域。
一根线段,随机切成3段,组成三角形的概率。
图像处理,为什么没用到压缩算法。
卷积的含义。
为什么要在频域上处理。
对图像处理感兴趣吗?对深度学习呢?
有用过游戏引擎吗?
写一个函数,计算n个斐波那契的和。
讲讲思路,为什么不用递归。
讲讲你是如何调试的。里面的难点一定要有。
调试时候野指针的相关问题。
有什么好的内存管理模式吗?
智能指针。智能指针有什么缺点。讲了普通指针混用导致的引用计数问题。除了这个还有其他的吗?
实习中的野指针,为什么没推动使用智能指针。有提吗?
讲讲你除了观察者模式,还知道哪些设计模式。
项目中的拟合算法。
差不多了就是这些,可能有些追问不记得了。
既然都看到这里,最后再说一句,真的不要放弃,坚持才是胜利。祝大家都能找到理想的工作。
#搜狐##华为##C++工程师#