2018内推秋招经验贴
快要到国庆节,本人也停止了校招,接下来来总结本人的内推和秋招的找工作过程:
1.笔试面试经历
内推的时候本人采用的海投策略(之前春招实习时候比较懵懂,感觉还没准备,实习招聘就结束了,想内推时多面点公司攒经验),投了将近30~40家公司,如BAT,蘑菇街,360等等。但是很多笔试都没过,给面试机会的有:百度(二面跪)、腾讯(三面跪)、阿里(四面池子泡着,估计跪)、华为(二面跪)、中兴(通过)、远景(三面跪)、网易互联网(通过)、苏宁(通过)。秋招时投的不多,因为内推网易通过了,就没怎么面试了,只面试了美团、趋势两家。
2.百度面试
1)一面
电话面。
a.自我介绍
b.项目介绍+应用场景+实现原理+个人职责
c.简单在线笔试题(面试官全程看着你写):一个链表排序,第二个是一个场景题,给定一个语言系统(类似汇编),写机器人的芯片程序来实现两个机器人相遇的功能
d.Spring理解:IOC/AOP/事务管理
e.TCP/IP各层协议栈的作用,分别存在哪些协议
f.IP路由选路协议介绍
h.TCP如何保证可靠传输
i.Spring DAO层的作用?与直接写Connection代码的区别
2)二面
a.Object类所有的方法?各自的实现原理及作用
b.notify方法为什么唤醒的是等待队列中的任意一个?如何实现的
c.Synchronized和ReentrantLock的区别
d.JDk版本升高,Synchronized的性能不断增长,高版本的JDK做了哪些改进从而实现这一效果?
e.可重入锁的含义?Synchronized是可重入锁吗?如果不是,将产生哪些危害?
f.垃圾回收的过程
g.所有对象度需要经过全部GC过程吗?有例外吗?
h.GC Root链如何理解
i.引用计数法在JDK哪些版本使用过吗?
j.算法题:无序数组中查找最小缺失的正整数?时间复杂度:O(n),空间复杂度:O(1)
如:【1,2,3,5,7】,这个答案是4
【-1,-2,-3】,这个答案是1
3.阿里面试
1)一面
a.介绍中兴算法比赛的情况
b.如何看待启发式算法?在比赛中是怎么考虑的?
c.项目的合理性+应用场景+个人工作+项目收获
d.项目用到了一个第三方的工具,其实现原理是什么?如何自行开发一个类似的
e.HTTP协议的理解(短连接、长连接)?如何理解访问淘宝网站时计算机网路发生的操作?
f.HTTP1.0,2.0区别,常用的状态码的含义(1XX,2XX,3XX)?
g.Java字节码格式?C++起类似功能的编译中间产物是什么(至今也不知道答案)?
h.是否阅读过java并发包的源码?如何理解AQS类在ReentrantLock,Simaphore等同步工具中所起的作用
i.Socket如何发送报文?如何确定数据发送完毕
j.Spring AOP的实现原理
k.Spring 事务管理和JDBC的事务管理的联系?Spring是否能支持JDBC不存在的事物隔离等级,说明理由?
2)二面
a.自我介绍
b.Spring事务管理、隔离等级
c.MySQL的B-tree索引的实现原理?能否用二叉查找树实现,说明理由?
d.MySQL的B-tree索引的最左前缀索引如何使用(如何使用来编写sql语句,会带来哪些限制)?
d.concurrentHashMap的实现原理
e.concurrentHashMap和hashtable的区别
7.算法题:将n个无序数字,拼接成一个最大的数字(字符串表示即可),要求时间复杂度O(N),空间复杂度O(1)
举例:123,54,10,9---->95412310
3)三面
a.JDT(项目中用到的第三方工具)如何实现?如何用JAVA来实现其他语言的抽象语法树?
b.在我描述项目的过程中,面试官指出了项目中实现的不合理问题(有更好的做法---当时真想去死,因为是预研性项目,实现过程中就知道存在一定缺陷,这次终于被问到了),为什么项目实践过程没考虑到(如果项目验收出现了这样的情况,如何处理)?
c.毕业设计?先进性在于哪里?做的怎么样?
d.研究方向
e.中兴的算法比赛为什么不采用运筹学的优化算法?
4)四面(hr面)
a.项目中遇到的技术/团队问题?如何解决?小组内如何分配任务?冲突如何解决
b.如何评价自我?优缺点
c.最崇拜的人?
d.如何理解新技术的不断翻新?未来工作中如何应对新技术的冲击?
e.本科研究生的收获
f.本科为何填计算机?求学到现在,如何看待这个专业?收获和失落分别是什么?
h.职业规划?
i。其他记不清了。。。
4.腾讯面试
1)一面
a.自我介绍
b.是否接受有可能转型C++语言的问题?
c.C++语言特性:函数指针、智能指针、析构函数、虚析构函数、虚函数、纯虚函数、有元及使用场景、静态成员变量的理解、vector/list的区别
d.排序:冒泡、桶排序、快排(最好最坏情况)
e.一致性hash
f.位图索引
g.单例模式
h.有向图最短路径:迪杰斯特拉\SPFA\Floyid
i.OSI七层协议介绍
j.TCP三次握手、四次挥手
k.32位/64位机器的c++基本数据类型的差异?
l.操作系统中的内存分配方式
m.多态的实现方式,重载何时有二义性
2)二面
a.Innodb,MyISAM区别?Innodb的锁 有哪些?何时使用表锁?
b.事务是什么?MySQL如何实现事务隔离等级的(底层加锁协议)
c.项目中遇到的典型问题
d.Unix文件系统(其中的一个个人项目)
e.如何看待技术发展?关注哪些新技术的发展?
h.Linux命令行
i.各大排序算法
3)三面
a.项目介绍+角色分配+个人职责
b.Ajax理解、长连接理解
c.jquery的特定语法现象
d.java中的数据类型(基本数据类型+常用的类+集合类+并发类)
e.常用的数据结构理解(栈、队列、树、图)
5.华为面试
1)一面
a.实验室和企业合作的项目简介+个人职责+难点+遇到的问题/解决方案
b.毕设目标、思路、进展
c.对机试的评价
d.谈对Spring框架的理解
e.谈一下个人的项目(非企业合作项目)
f.问面试官的话题
2)二面
a.自我介绍
b.项目分工/角色
c.项目情况
d.个人项目介绍
e.问面试官的问题
6.中兴面试
因为参加了中兴的算法挑战赛,只有一个为期45分钟的综合面(两个面试官)。
a.自我介绍
b.线程实现的几种方式
c.如何在前台监控数据库中的数据变化?(估计面试官不只是希望一个定期刷新的答案,而是Ajax长连接或者WebSocket之类的)
d.jsp中几种作用域
e.未登录直接访问一个网站如何控制?(过滤器)
f.Java内存模型
e.Java 1.8新特性
f.项目介绍+思路+难点(由于项目偏语言分析,面试官质疑了静态分析的能力)
g.svn和git的区别
h.动态规划算法理解
i.贪心算法理解
j.蚁群算法理解
k.随机算法理解(没达上来)
l.如何看待加班
m.如何看待女研究生在工作初期的家庭和工作冲突
n.工作地点沟通
7.苏宁面试
苏宁只有一次技术面,三个面试官同时问,大约40分钟
a.自我介绍
b.项目介绍+个人职责+难点/解决方案+使用场景+同类型工具有哪些+项目先进性(这里问了很多)
c.java内存模型
d.java的堆和栈的区别
e.jvm垃圾回收理解:回收过程、回收算法、回收器分类与区别
f.java多种引用的区别
g.为什么投递苏宁?为什么选开发(不接受测试)?为什么选南京工作地点
h.自我评价?他人评价?优缺点?期望薪资
8.网易互联网面试
1)一面
a.算法题:两个有序数组判断是否存在相同元素(归并查找)?是否存在比O(m+n)时间复杂度更低的算法
b.join的执行计划?mysql中采用了哪些算法?
c.git底层实现原理
d.自己做过的最满意的成果?中间碰到的难点
f.场景题:n台机器请求数据库服务器,假如数据库服务器支持的并发数为m(n>>m),如何进行分布式控制?
2)二面
a.自我介绍
b.jvm垃圾回收
c.多态理解,实现方式,jvm中的实现原理
d.二分查找写代码
e.MVC模式理解?优缺点?是否知道比他更好的实现同样功能的模式(至今没找到答案)?
f.MVC模式在Web开发中与桌面开发(一般有观察者模式在里面)中的区别?如何理解Struts框架以及Struts2框架?
g.Spring框架理解
h.Ajax、长连接、websocket理解
3)三面
a.自我介绍
b.三大优点三大缺点
c.项目技术/团队合作难点?如何克服?项目收获
d.周围人怎么评价自我?
e.工作地点选择问题?投了哪些公司?
f.家人关系?相处模式?从父母亲身上学到的?家里人怎么看待你的工作(是否有限制)?
g.薪资方面
9.美团面试
1)一面
a.自我介绍
b.mysql中常见的数据类型,各自的范围,int(11)中的11的含义
c.代码题:两个栈实现一个队列,两个队列实现一个栈
d.jvm类加载过程?类加载器模式?哪些破坏了双亲委派模式的情形?
e.java并发类有哪些?实现原理(AQS)
2)二面
a.自我介绍
b.sql优化:给定sql语句,如何优化表(各种需求下花式建立索引--单索引、花式组合索引;缓存表)?给定表,如何优化sql语句?
c.代码题:二叉查找树中找到小于某个特定值得节点数目?
d.Spring框架IOC实现原理?xml方式和注解方式的区别和使用场景?
e.项目介绍+难点---聊完的感觉就是面试官不感兴趣
10.趋势面试
1)一面
1)一面
a.自我介绍
b.给定一个需求,如何给出项目整体方案以及预算:boss希望发给你一张在超市物品的图片,你就告诉他价格,品类和名称?
c.Unix文件系统(个人项目)介绍?两个相同的文件各2G,如何在一个4G的磁盘中存下来(考虑共享文件)?
d.静态变量、静态方法理解
e.设计模式理解(创建者、结构、行为各挑了一两种讲了讲)
f.c++中的宏定义在java中如何实现?java为什么没有宏定义(瞎答)?
g.自我感觉最成功的项目经历(答了基于朴素贝叶斯的新闻分类和邮件分类系统(个人项目))?
h.用英文问面试官一个问题?简单的交流
2)二面
a.自我介绍
b.项目实现原理+实现细节+个人工作+相比于市面上其他产品的先进性+为什么形成了现在的实现思路(这个大问题讲了很久,快半个小时)
c.是否了解过网络安全?(答了HTTPS,那一套公钥私钥非对称加密等东西)
d.TCP、IP理解
e.是否了解其他的安全技术手段?
f.其他记不起来了。。。
11.远景
1)一面
a.自我介绍
b.项目介绍+个人职责+比其他同类型工具的优势+优势是如何实现的?
c.原子并发类型的场景题
d.并发源码包的理解:Blockingqueue借口的实现类(ArrayBlockingQueue,LinkedBlockingQueue)的实现原理
e生产者消费者理解
f.设计模式理解
g.过滤器模式?在Struts模式中的使用
2)二面
a.自我介绍
b.项目介绍+难点/解决方案+团队分工+个人职责(这一面就是聊项目)
3)hr面
a.自我介绍
b.项目中碰到的技术/难点
c.本科和研究生为什么学计算机?
d.远景为什么要招聘你?
e.性格?优缺点
f.是否接受上海?如何看待上海很难买房这个问题?
g.为什么选开发?女孩子在IT公司中有何优缺点?