第一篇:2018年秋招Java开发工程师岗位内推面经
面经
一、阿里一面(36min)18.7.23晚
1、HashMap为什么叫hash,而不是其它,其特点是啥?HashMap与Hashtable区别是啥?
2、Spring中用到了哪几种设计模式?简要说下几种设计模式及其应用场景。
3、Spring的实现机制是什么,看源码。
4、项目中数据库怎么设计的,有哪几个表?探测非法路径时需要哪个数据结构(答map,为什么是map,可不可以是数组,容量不足时该怎么解决)
5、在查一个数时,map时间复杂度是多少?数组的话,时间复杂度是多少?
6、这个项目你最大的收获是什么?遇到什么问题,怎么解决的?
7、自我介绍
8、根据项目主要介绍ssh怎么用的
二、顺丰一面(18min)18.8.2晚
1、项目中负责的哪一块
2、用过哪些数据库:MySQL,MySQL优化,MySQL引擎
3、简单讲一下http协议,https区别,加密,请求过程,get和post方法
4、多线程的锁有哪些(如自旋锁)
5、Volatile关键字特点,如何实现
6、HashMap与Hashtable区别是啥?底层实现,当多个关键字映射到同一个hash桶时,使用entry链表进行解决冲突,entry链表查询慢,应怎么优化
7、了解的设计模式有哪些,说一下简单工厂模式。
8、Hashtable、ConcurrentHashmap区别,若全部数据都在一个segment怎么改进。
9、索引
10、TCP,四次挥手如果改为三次怎么样?
11、OOM内存泄露,出现原因,解决方法
12、设计模式介绍一种,工厂方法模式和抽象工厂模式区别?装饰模式,适配器模式
13、锁,自旋锁、轻量级锁、偏向锁、互斥锁、读写锁 2018.8.6下午 360面试(30min)
1、自我介绍
2、说下最熟悉认为自己做的最好的一个项目(Java Web,ssh框架)
3、进程与线程区别
4、进程间通信的几种方式
5、TCP三次握手、序列号是怎么变化的、TCP请求头(还是报文?)含哪些信息
6、了解http吗?http请求头(还是报文?)含有哪些信息或字段
7、多线程的锁有了解吗?几种锁
8、OOM(内存溢出)有了解吗
9、设计模式有了解吗,说几种
10、来两个算法题说思路就行:(1)如何判断一个链表是有环的?(2)假设一个数组的长度为10,如何找出出现次数超过数组长度一半的那个数?
2018.8.16 途牛网微信视频面试(43min)(进二面,等邮件通知面试时间)
1、自我介绍
2、项目介绍,spring特性介绍,数据库用的哪一个,数据量多大,应用场景,数据库引擎用的哪一个,为什么要用这一个?Spring的底层了解吗?Spring AOP的底层是什么机制(动态代理)
3、jvm有了解吗?介绍几个区及其包含哪些信息?方法区里有哪些信息,运行时常量池呢?New 一个对象时是在哪个区分配内存?GC方法有了解吗?说一下每种方法及其优缺点。
4、jdbc连接过程说一下
5、数据库连接池有了解吗?你在项目中数据库是每用一次连一次吗,这样效率不高啊
6、第三范式了解吗,说一下
7、事务了解吗?事务的四种隔离级别了解吗?说一下
8、spring中事务管理的过程说一下,在命令行中怎么实现,都有哪些方法?
9、jdk中自带的排序类有了解吗?
10、子网掩码有了解吗?说一下构成
11、jQuery有了解是吧?如何获取标签属性的值,采用哪个方法?
12、Java实现单例模式,说出你的思路。四种都要会
13、线程池实现了哪个接口,它的工作过程。
14、sychronized的底层实现
15、除了同步方法还有哪些方式可以保证线程安全?(同步快、原子类、使用volitale关键字、使用不变类和线程安全类)
16、tcp了解吗?三次握手四次挥手说一下
17、socket了解吗?简单说一下。Socket通信里有哪两个主要的类,里面还用到了什么类,有哪些方法。
2018.8.16阿里巴巴天猫技术部面试(44min)
1、自我介绍
2、Object类有哪些方法
3、实现多线程的几种方式,这几种方式有什么区别?
4、Tcp协议了解吗?说一下它的建立连接以及关闭连接的过程。(也就是三次握手与四次挥手),为什么是四次握手,三次不行吗?争论了一番。。
5、http了解吗?与tcp有什么区别?Tcp请求头与http请求头都包含哪些字段?
6、get、post方法有什么区别?(两点主要区别),post方式传输的数据量大,为什么post传输的数据量大?get在地址栏传输的数据长度有限制,怎么个限制法?什么规定的?是标准吗?
7、重定向和请求转发(forward)的区别?
8、Jdk自带的排序类了解吗
9、异常了解吗?说一下。空指针异常,什么情况下会出现空指针异常,举一个例子
10、Spring了解吗?说一下它的两个特性,拦截器和过滤器区别?
11、Hashmap的底层实现,红黑树特点
12、用的什么数据库,项目中数据量有多大?什么是索引?了解哪几种索引?与join相关的连接有哪几种?内连接、外连接
13、Linkedlist是单向链表还是双向链表?(双向链表)
2018.8.19下午2点(老虎证券一面)
1、给定一个数组,写一个方法,两个参数,一个为给定的数组,另一个参数为boolean类型的变量。返回两个数组,其中一个数组为原数组中不重复元素组成的数组,另外一个数组为原数组中重复元素所组成的数组。比如给定数组为【1,3,3,4,5,2,2】,返回数组【1,4,5】和【3,2】
2、给定一个数组,返回和最大的两个数,且这两个数不能相邻。2018.8.29 上午9点30用友视频面(技术+hr面)(35min)技术面:
1、自我介绍
3、介绍你认为做的还可以的一个项目。(项目都上线了么)
4、项目中你主要负责的啥?
5、你用到的框架介绍一下(ssh)
6、前端都了解哪些?(答自学了一点HTML,了解不深。)
7、数据库用的都是MySQL么?(答是,然后就没有然后了,直接就转到hr面了。。感觉面试官对我的项目不太感兴趣,对MySQL也不感兴趣。。基础也没问)
HR面:都是常规的老问题:期望薪资、自己的优缺点,意向城市等等。。
2018.8.29 下午4点途牛视频面(二面技术面)(29min)
1、自我介绍
2、项目中用的什么技术(ssh)
3、介绍一下spring AOP
4、JVM中的GC说一下
5、用的数据库都是MySQL是么?答是。MySQL都了解哪些?(优化、存储引擎、索引),那简单介绍一下索引吧。
6、接下来就是唠嗑了,可能是一面面试官评价比较好(yy中,哈哈哈哈哈),二面没咋问技术,接下来就开始闲聊了,问期望薪资之类的。之后就是问你还有什么想问我的么?接着就是等通知,会有hr联系你。2018.9.1 下午 快手视频一面面试
1、自我介绍
2、hashmap了解吗?Put键值对时会有什么情况?
3、红黑树与AVL有什么区别?优缺点?
4、你刚才说到hashmap。Hashmap是线程安全的吗?那hashtable呢?还有什么map是线程安全的?它们的区别是什么?(主要答实现线程安全所采用的方式不一样,分段锁等。)来做几道题吧
5、输出100到200之间的素数
6、一个人一次要么只能跳一个台阶,要么跳2个台阶,问有n个台阶时,总共有多少种跳的方法。
7、来个数据库的题吧(有一个表T,表T里有一个字段a,a可能取很多值,比如a取apple、取pear、或者取banana,它们在表T中可能出现很多次,请用sql语句输出每个可能的取值在表中出现的次数。比如:apple 80次,pear100次,banana 60次)