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公司中有何优缺点? 
 

 查看10道真题和解析
查看10道真题和解析