2021届非科班出身Java开发秋招面经
自身情况:
面经汇总:
(A)美团
(一)一面:(1)项目或者实习中最有挑战性的一个
(2)遇到的问题
(3)介绍下webmagic框架
(4)布隆过滤器原理
3、Mysql
(1)三大范式,为什么用范式
(2)事务的四大特性,具体说一下
(3)隔离级别,分别解决什么问题
(4)说一下脏读
(2)ArrayList和linkedList的区别
(3)线程安全的有哪些
(4)synchronized
5、算法题:反转链表
(2)说一下垃圾回收机制
(3)知道哪些JVM参数(这个不会回答,让我自由发挥的)
(B)京东(提前批)
(2)如何学习Java、通过哪些资料
(3)项目、实习中遇到的问题(问题解决后有去了解原理吗)
(4)通过实习、项目,有哪些提升
2、Java
(1)线程池的参数 ——》线程池核心线程大小和线程池最大线程数量的区别
(2)集合了解吗 ——》set和list的区别——》set如何验证是否重复——》为什么用equals和hashcode呢?而不是用1个
(3)SpringAop用过吗——》没用过
(4)JVM运行时数据区有哪些结构——》还有吗
(5)JVM垃圾回收机制——》为什么有老年区和新生区
(6)稍等一下……
3、数据库
(1)好的,继续……
(2)事物的四个特性 ——》什么是隔离性
(3)隔离级别有哪些——》分别会有什么问题——》什么是脏读——》什么是幻读
(4)有一个问题忘了,比较底层,不清楚如何答,就说了不会
15、反问环节:问了平台的业务和用到的技术栈
(C)京东(校招正式批)
(一)一面:
1、自我介绍
2、多线程的状态
3、创建线程的方式
4、死锁的必要条件
5、String、StringBuffer与StringBuilder之间区别
6、排序算法有哪些
7、GC(Java垃圾回收机制)
8、B和B+树的区别
9、对无向图有了解吗
10、深度优先遍历类似于二叉树的哪个遍历(二叉树的遍历种类)
11、排序算法中不稳定的排序有哪些
12、现有1000个苹果,分别装到10个箱子里,要求可随意拿到任何数目的苹果但不拆箱,是否可行?若行,每个箱子放的苹果数分别是多少?若不行,请说明理由
(1,2,4,8,16,32,64,128,256,489):考虑二进制
13、45 79 56 38 40 84 第一个为基准,快速排序第一次划分结果是?
2、队列和栈有了解吗——》怎么实现
3、优先级队列了解吗——》堆用什么数据结构实现
4、基本类型——》int是多少位——》封装拆箱了解过吗
5、String、StringBuffer、StringBuilder的区别——》线程不安全那能不能用?——》什么场景下使用线程不安全的情况
6、Java内存分配策略(JVM方面)——》创建一个对象,会在哪呢——》垃圾回收器的算法——》你自己具体用的是哪个算法——》具体的回收器(不是原理)——》垃圾回收机制——》每个区都用到的什么算法
7、Java模型解决的问题(没懂啥意思)
8、Violatile了解么?——》什么场景下使用过?
9、==和equlas的区别
10、synchronized了解吗——》和lock的区别——》为啥有synchronized了还用lock——》默认使用的是乐观锁吗?还是说怎么设置——》乐观锁和悲观锁如何切换
11、了解单例模式吗——》怎么设计单例模式——》为什么这样就是单例的——》如何做到受控操作呢?
12、线程池中如何使线程run起来——》线程池的参数——》线程池的执行流程——》跑任务结束后,如何把结果拿出来
13、HashMap了解吗?——》什么场景下使用过——》查询的时间复杂度是多少——》为什么是O(1)——》hash碰撞怎么办——》hashmap使用的哪一种
14、了解SQL注入吗——》原因是啥?如何避免SQL注入?
1、自我介绍
(D)伴鱼
算法题(没思路5分钟可以换题)
1、按奇偶排序数组II(给定一个非负整数数组 A, A 中一半整数是奇数,一半整数是偶数。 对数组进行排序,以便当 A[i] 为奇数时,i 也是奇数;当 A[i] 为偶数时, i 也是偶数。)(leetcode 922原题)
一下子没有思路,换题
2、给定一个整数数组,判断是否存在重复元素。
如果任意一值在数组中出现至少两次,函数返回 `true` 。如果数组中每个元素都不相同,则返回 `false` 。
面试的时候,先写的双重循环,写完后,主动和面试官说有个更好的思路(Set判断),要不要再写一个,然后面试官说可以,这样二面的时候会给面试官一个好印象。
4、没过两分钟,通知明天二面。
(二)二面:
1、自我介绍
2、垃圾回收算法——》结合自己的理解说一个算法原理——》垃圾回收机制(过程)
3、JVM的结构有哪些
4、七层网络协议有哪些
5、输入一个链接的一个过程(输入URL之后的流程)
6、说一下四次挥手过程
7、UDP和TCP的区别
8、GET和POST的区别
9、post如何防止重复提交(这个没说上来)
10、Java的三大特性——》解释什么是多态——》重写和重载的区别——》访问权限问题——》再说下重载
11、synchronized和lock的区别(原理)
12、线程池的执行流程
13、类加载机制
14、有一个问题(忘了),没了解过
15、设计模式有哪些
16、Mysql:查询数据
17、如何通过IO实现文件的一个拷贝(这个见到过,给忘了!!!)
18、说一下某个集合的底层结构吧
19、有一个问题,没了解过,忘了
20、一个数组,实现把某个数据放到第一位,其他的保持顺序不变后移,说一下思路
21、文件夹下边有子文件夹……可能有很多子文件的子文件,获取所有的文件名字(有一个方法可以直接获取名字,没想起来,面试官告诉我了)——》我想的是递归,面试官说有好的办法,我没想出来
22、如何用一个可盛3L水的杯子,一个可以盛5L水的杯子,如何获取4L水。
23、遇到问题如何解决?结合自身说一下
24、你说你积累过错误,说一个你积累的错误,以及错误的原因说一下
(三)三面——HR面:
1、对前两轮面试的体验
2、聊硕士期间的研究、实验室情况
3、什么时候开始打算从事互联网行业的
4、家庭情况
5、只找了北京的公司吗
6、预期薪资
7、目前其他公司面试流程
8、可以来实习吗
9、投递伴鱼公司的初衷(忘了啥问题了,我说了下我的初衷)
10、反问
11、HR介绍公司情况
(E)阿里
(1)思路*
(2)遇到的最大的难题,自己做的最好的地方
(3)Mysql用到的语句
(4)实现翻页的原理
(5)自己一个人做的吗
(6)为什么选择互联网行业?跨专业(电子到软件)
2、Java基础
(1)基本类型及长度
(2)ArrayList、LikedList、Vector的区别
(3)ArrayList为什么有这些特点,因为什么造成的呢
(4)线程池如何实现
(5)多线程如何实现的
(6)为什么使用GC(垃圾回收)
3、算法题
(1)如何判断一个单链表是否有环
(2)二分查找的原理
(3)数据结构中你最擅长的是?
2、 HTTP协议、HTTP状态吗
3、TCP三次握手
4、Java 内存管理
5、 Cookie和Session的区别
6、List和Map的源码实现
7、讲一下List的add方法实现和Map的get方法实现
8、线程的生命周期
9、如何创建线程
10、数据库的索引结构
11、描述B+树
12、Java中的锁实现方式
13、项目介绍
14、爬虫如何避免反爬虫
15、算法题:最长公共子序列
(三)三面:
2、自我介绍
3、项目介绍
4、项目具体流程和分工
5、你负责的工作.
6、性能要求变高,怎么解决,讲一下思路
7、在最近一年,你在技术上遇到什么难点是什么?或者说挑战过最难的事情
8、除了项目之外,自己参加过什么比赛
9、研究生期间,项目之外自己做过什么技术上的
10、反问
(F)奇安信
11、SpringBoot与SpringMVC的区别
13、 java访问修饰符的作用范围
(G)百度
2、为什么选择这个岗位
3、今后几年有什么规划
4、自我介绍
5、Java的基本类型
6、boolean的底层是什么存储?为什么?
12、JVM的垃圾回收过程
13、垃圾收集算法
14、介绍可达性分析法?什么结构
15、ConcurrentHashMap
16、ConcurrentHashMap 和HashMap的差别
17、synchronized 底层
18、数据库的索引
19、B+Tree 和B-Tree的区别
20、索引类型包括哪些
21、唯一索引,非唯一索引,聚集索引,非聚集索引
22、关系型数据库和非关系型数据库的区别
23、非关系新数据库的优点
24、数据库的数据压缩
25、算法题:手写堆排序、反转链表
(H)华为(数通)
(I)浪潮
等待的时间太漫长了
好,下边面试过程(浪潮在线面试系统)
1、HR(可能是HR,也可能不是,暂定HR):时间比较紧,咱就不自我介绍了,你意向地点是北京,济南,有倾向吗——》学校在北京,家乡济南,都可,根据组织安排
2、HR:你从事的是Java是吧
3、技术面试官1:我也不懂JAVA,你说个你做过的项目吧——》巴拉巴拉
4、 技术面试官1:我问你点别的吧——》知道哪些排序算法——》快速排序说一下——》说一下时间复杂度
5、技术面试官1:用过数据库是吧,具体操作过吗?——》MyISAM和InnoDB的区别
此时,好巧不巧,信号断了,直接进进不去 ,退出又重新进的(对于这个系统,有过AI面的各位应该深有体会,不多言)
终于又进入面试系统
6、HR:你是等了好长时间才进来的吗?——》说了一下情况,解释了一下
7、HR:没事,你接着说吧
8、技术面试官1:我没啥问的了
9、技术面试官2(全程没咋说话,面无表情,此刻开口):我没啥问题问了
10、HR:您有什么问题要了解吗——》业务,不同部门,后续安排——》HR:后续会有HR和你联系沟通具体的部门和地点。
结束……
不得不说,投一次浪潮做一遍测评,太难受了,从实习到提前批、被从智联上捞起,做了七八次测评了……