本人毕业两年,前段时间(2018.7月份)的面试题,分享给目前准备跳槽的小伙伴们,愿都找到心仪的工作。
下面是面试题整理(均为电话或视频面试)
铜板街:
1. dubbo 怎么进行事务管理,Spring注解在dubbo下有时候不管用怎么办
2. dubbo和webservice 为什么要用dubbo不用webservice
3. dubbo注册中心怎么实现的
4. 有时候用索引会慢,为什么
5. hashmap的底层原理、是否线程安全、怎么变成线程安全的
6. ConcurrentHashMap和hashmap区别,怎么实现的
7. synchronizedMap方法底层如何实现的
8. 了解哪些设计模式
9. 单例模式是线程安全的吗?怎么变成线程安全的 加synchronized关键字 在哪里加
10. 说一下Spring的IOC、AOP
11.AOP的实现方式有哪些
12.angularJS双向绑定是什么意思,怎么实现的
佰米:
1. Mybatis里#和$的区别
2. 解释SQL注入
3. Mybatis里id是自增的,如何获得这个自增的值
4. Arraylist和linkedList区别,为什么ArrayList查找快
5. Spring AOP的实现原理
6. Jdk动态实现和CGLIB类库代理本质上有什么不同
7. Synchronized()放lock和size有什么不同
安恒信息:
1. Mybatis中SQL内外连接
2. Linux命令
3. 解释 ps -ef|grep java中的“|”是什么意思
4. 内外网部署用webservice?并发量很大的时候怎么办
5. 查询信息的IO导出功能
6. 什么是死锁
7. 说说Redis,Redis持久化方式,RDB和AOF哪种方式比较好,默认使用哪个
阿里(一面):
1. 项目问的很细,包括应用部署等
2. Dubbo流程、主要组件
3. zookeeper的节点
4. 一致性hash算法
5. hashMap底层原理
6. 索引数据结构,介绍B+树
7. 脏读和幻读
8. Mysql怎么实现分页,会有什么问题
9. GC垃圾回收算法
10. CMS收集器
11. 线程生命周期
12. Sleep()和wait()区别
13. Notify()和notifyAll()的不同
14. notify()工作原理
15. 线程池原理
二面在线编程:在读多写少的情况下,写一个有序容器。
编程挂掉。
有赞(一面电话):
1. java基础知识和阿里问的查不多,回答也可以
2. 排序算法有哪些
3. 如果让你设计一个秒杀系统,你会如何设计
4. 有多台服务器,如果库存只剩一件,应该怎么处理
5. 如何判断一个链表是环
二面视频:
1. spring自定义注解如何实现
2. spring AOP原理
3. dubbo流程,dubbo中xml如何配置服务的
4. redis数据类型,string类型中的SETNX命令(实际是问分布式锁),持久化方式
5. JVM内存模型,相关调优命令
6. 异常类型有哪些
7. 最近在看哪些书,有什么收获
8. 近期的规划
因为职位满了,又被转给另一个部门:
1.MySQL一张表多少数据时,性能开始出现问题
2.redis分布式锁
3.内存泄露,怎么解决
4.栈溢出的情况有哪些
5.negix如何进行负载均衡
恒生电子(视频面试):
打开视频面试官第一句话,怎么是个女的....
我:Emmmmm
之后发现hr把我简历推给了部署运维部,后来又内推给了技术业务部。后来的面试是两个面试官,态度nice,题目和上面差不多,比上面涉及宽度还要大,问的非常细,一面通过后,个人原因没有去复试。
其他问题:
1.线程安全的问题,lock和同步机制的区别,CAS乐观锁和悲观锁
2. NIO和IO区别
3.JDK7和JDK8的区别,JDK8新特性有哪些(hashMap进化到数组+链表-->红黑树)
4.数据库事务ACID,分别举例子。其中隔离性的4种属性,涉及幻读和脏读
5.Minor GC和 Full GC
6.数据库索引,索引的数据结构B+树,索引的最左前缀原则
7.垃圾回收算法基本都问了,G1收集器
8.spring是重点
其他暂时想不起来了。。找工作需要先找几家小公司试水,面着面着就知道方向了,但无论面试题会多少,对于大公司来说,你的实力还是很容易暴露的,平时多沉淀才是真正要做的事情。
更新20180831
根据面试题整理,这是我在边面试边复习中看到的一些好的博客文章,现在把链接汇总起来,分享给大家。
Java 网络IO编程总结(BIO、NIO、AIO均含完整实例代码)
Spring的两种代理方式:JDK动态代理和CGLIB动态代理
HashMap,LinkedHashMap,TreeMap的区别