目录
1 前言
分享自己的面经,希望对那些想要从事开发工作的同学一些帮助。由于面试后当时记录的较为潦草、简单,也没有太多的复盘和总结,所以仅供参考、了解。(内容均本人亲身经历)
2 本人情况
二幺幺本硕,专业都是和计算机无关的,只是对数学有些小小兴趣,喜欢打游戏,想要尝试开发工作,成为一名程序员。学过大学课开的c语言、数据结构,学堂在线的c++、数据结构还有一些51CTO平台的计算机网络(为什么是这个平台,因为学校有免费资源hh)、还有就是LeetCode刷过100来道题。
3 面试记录
==============================================================================
1.字节跳动(游戏研发工程师,校招)
先是做了3道笔试(机试题),通过后开始视频面试。先简单进行了一波自我介绍,聊了聊游戏。
面试:
①计算机网络
②数据库
③c++关键字
④指针和引用区别
码代码环节:
①第一个换座位题
——(没思路)
②找零钱问题
——反复交流了 我理解有些偏差,没做出来,但是讲了一些优化方式。
后记:后来想出来那个找零钱问题了,就是给个任意数,规定的几种面值(数量不限),最少张数的匹配。由于第一面试,各方面都了解不足,准备也很不充分,感觉还有很多知识需要补充。
==============================================================================
2.博乐科技 (游戏研发工程师,实习)
笔试:是去公司做的一份卷子。涉及的sql 和linux命令并不会。二分查找、深拷贝、子网掩码解释
面试:
①,一组数,找第二小的数?
——(其实应该很快想到排序)
②引导写出快速排序算法
——有困难
③给你partition,继续实现快速排序
——没写出来。。。。(继续努力吧)
后记:公司环境很好,气氛融洽,面试官也很nice,但是基础知识、代码能力还是不行。
==============================================================================
3.轻而易举(开发工程师,实习)
笔试:
就上机做题,三道,前两道很简单(找质数,鸡兔同笼),第三道dp的不太会就放弃了(矩阵地图传递纸条这样的)
后记:公司很小但是位置环境很好,那天身体不舒服就放弃了。
==============================================================================
4.海尔(开发工程师,实习)
面试:
①单链表找倒数第k个节点
——我用了 两种方法实现 但是 没想到用一次遍历 o(1)空间的方法
②问擅长的c++ ,虚函数的实现
——虚表说到了 ,但是具体细节不是很清楚;
③STL库 ,常用容器的底层实现;
④快排,写的快排 他居然不是很理解(我是背的)。。。
后记:查资料,弥补不足,下次碰到就会了,继续加油。
==============================================================================
5.柠檬微趣(游戏开发工程师,实习)
面试:
①&和&&区别
②智能指针:
③快速排序手撕代码:
④快排性能分析:
⑤取前100个数 无序N中:
后记:面试官说算法挺好 基础不太好,公司环境不错在扩招,hr小姐姐热情友好,还很漂亮。
==============================================================================
6.百度(地图算法工程师,实习)
一面:
①指针和引用
②new 、malloc区别
③做了什么项目
④毕业论文以及发表的论文
⑤手写代码:链表反转
⑥镜像造树
——(没太写出来,通过提示写出了大体的算法流程)
⑦查找二叉树深度
二面:
①提了相同的问题:new 、malloc区别
②项目方面
——感觉出他觉得我没有实际的项目经验
③最短路径算法及改进
④很多答不上来的问题,包括:内存有哪些区域,看到我写的windows开发,问我实现一些线程同步方法,很多记不起来了,而且本身学的也不够系统
后记:算是一点小小突破,得到了一个面试官的肯定,过了一面,但专业知识和算法方面还是有很多不足。
==============================================================================
7.NEC(c++工程师,实习)
笔试:
一份卷子,题包括选择、填空、翻译和代码题。
面试:
是位中年阿姨,感觉这种大型企业似乎技术较为老旧,问的问题比较简单、基础。
①指针和引用区别
②二级指针
③c++特性
后记:hr似乎口头答应了,并询问我薪资和通勤时间的问题,我以为稳了,但之后一直没消息了。
==============================================================================
8.百度(网络核心研发,实习)
面试:
①1000亿数据仅有4g内存怎么处理
②排序
③网络协议 tcp/ip 3次握手
④智能指针
后记:总体回答得不是很好,专业性过强,而且感觉面试官好像很不耐烦。。。
==============================================================================
9.好未来(岗位忘记,实习)
面试:
①面试官是搞JS的,hr可能没有沟通好,感觉他并不是很熟悉c++
②c++特性,继承的方式,struc 和class区别
③简单实现多态
后记:应该是没有沟通好面试官,需求岗位和我掌握的技能着实不匹配。
==============================================================================
10.华夏手游(游戏研发工程师,实习)
面试:
①矩形碰撞监测
②找到第k大的数,维护堆的方法
后记:侧重于代码和思维的比较多,总体来说应对的不是很好。
==============================================================================
11.迅游(网络开发工程师,校招)
面试:
①给了代码段,问实现复制构造函数和赋值运算符重载
②如果使用默认的复制构造函数会有什么问题
③STL是否可以继承
④STL哪些是链表哪些是连续内存
⑤算法(1)数字转字符
(2)
⑥linux常用命令、mysql语句、线程同步
后记:自己对于基础把握还是有问题,语言表达也有问题,需要做些思考再做回答。
==============================================================================
12. 百度(c++工程师,校招)
面试:
①自我介绍
②看哪些有关于编程的书
③TCP协议
④TCP 3次握手 ,分别每一次丢失会怎样
⑤一个多继承关系 内存分配情况(不同操作系统下)
⑥手撕代码 反转字符串
后记:感觉能过了笔试进面试就很幸运了,也看到进去的都是些大佬,履历丰富、有很多有含金量的实习经历。
==============================================================================
13.新华三(c++工程师,校招)
一面:
①学过哪些计算机课程,学得怎么样
——我说很好
看看成绩单,数据库 60 emmm 成绩一般呀
——Emmmm(这里也许埋下了伏笔。。。。)
②c、c++区别 (继承封装多态,面向对象的编程方式)
③多态的实现(运行时多态和编译时多态)
④基类不写virtual和写的区别
⑤linux 怎么查看cpu使用率 命令是什么
⑥fork函数返回值问题
⑦进程和线程的区别
⑧智力题,爬三楼和爬六楼的耗时比
⑨链表找环
二面:
①家是哪里的,意向工作地点 排序
②自己的特点,优势
③做的项目承担的角色
④笔试成绩不理想的原因
⑤对自己成绩排名的看法
⑥家人情况
三面:
①你做的项目内容是什么
②论文是做什么的
③获得的这个测量比赛是什么样的比赛,你承担的工作内容对获奖的贡献
④你是否了解新华三
后记:新华三也是在宣讲会听到各种待遇很不错,就去尝试了,面试等待较久,但是提供了麦当劳,也就是忍了hh。
==============================================================================
14.滴滴(调剂岗位,校招)
由于是调剂岗位所以技能可能不符,先问我会不会java 但我学的是c++
面试:
①排序有哪些 我说了应该有8、9种
②写个冒泡吧 很easy
③怎么理解选择和shell排序 这个我之前看过有印象
④开始问数据库 很多不懂
⑤选多专业词汇没听过 唯一听到的还是自己不熟的 左关联、右关联、分组
⑥怎么理解线程 多线程
后记:感觉也是重在体验吧。。。
==============================================================================
15.网易互娱(游戏开发工程师,校招)
面试(电话面试):
①多态
②析构函数可以是虚函数么
③static_cas和dinamic_cast区别
④map和unordermap区别
后记:感觉面试官考察重点在于:基础知识+算法+项目经历,缺一不可。
==============================================================================
16.清华同方(GIS开发工程师,校招)
一面:
①private、public、protected继承的区别
②修饰的数据和成员函数,对外的访问性
③
二面:
①一些数据,缺失,怎么整理,清洗
17.中电太极(GIS开发工程师,校招)
①stl库了解程度
②hashmap的底层实现是什么
③有没有看过stl库的源代码(如何申请和释放内存的)
④排序有哪些,有哪些稳定的排序方法
⑤析构函数为什么要是虚的,如果定义虚,谁申请的内存会有泄漏
后记:后来说北京这边公司的岗位已满,是否愿意到西安分公司,我拒绝了。
==============================================================================
4 后记
最后应该说是比较惨淡,没什么offer,作为一个非科班出身的同学面技术岗还是比较难的。还有一些公司的面经没有记录下。总结来说,好的学历确实能帮你很大程度地提升你的建立通过率,但是技术岗还是看重能力,也就是专业知识+代码能力+项目经历,而且每一点都很重要,想要进入大厂这几项应该都不能有短板,要有份好的实习。以上都是个人经验,很多地方可能存在问题仅供大家参考,大家应该都听惯了各种逆袭翻盘的成功经历,听听我的经历可能感觉就是很真实吧。最后祝同学可以拿到心仪的offer。