麒麟合盛、keep java工程师社招面经
麒麟合盛面经
一面:
1.equals 和 hashcode 的区别,原理,应用场景
2.synchronized 加到方法和对象上的区别
3.快速排序的思想和复杂度
4.spring 介绍下,spring 中的设计模式(说五个)
5.GC 垃圾回收,内存泄露原理,原因
6.dubbo,zookeeper 的优缺点
7.一个学生类,有学号,姓名。两个对象的姓名 equals 相等,学号 hashcode 相等,将两个 对象插入 hashmap 中,获取到哪个对象。
二面:
1.手写生产者消费者
2.jdk 源码看过吗(没有)
3.servlet 是线程安全的吗(猜,应该实事求是)
4.1~100 个随机数,现在取出一个,怎样找到取的是哪个数。
5.数据库怎样实现悲观锁,乐观锁
6.画一个平衡二叉树,红黑树了解吗
7.http 请求头信息 想起来就这么多,态度真的很重要,感觉自己应该实事求是点,知道就是知道,不知道就是 不知道,凉凉~~
keep 面经 一面:(60 分钟左右)
1.问项目相关的
2.异常,try catch return 返回值问题
3.volatile 关键字介绍下
4.线程安全的单例模式
5.lambda 表达式(Java8)
6.数据库索引 B 树
7.四次挥手最后为什么是 time_wait。多个客户端进入该状态,Tomcat 服务器怎么处理。
8.redis,maven 介绍下
9.dubbo 分布式介绍下
10.mybatis 介绍下,比 jdbc 好在哪 11.手写代码:长度为 N 的数组,随机获取 K 个数,不能重复。
二面:(30 分钟左右)
1.项目中通行记录数据怎么添加
2.dubbo 分布式问题(回答不是很好)
3.手写代码:在给定范围内存储对象,线性关系。
4.平时怎么学习技术。 然后等通知,过了一会儿凉凉。感觉是自己的项目简单,面试官不感兴趣。还有就是最后问 完问题后说得太多,还有应该问下面试官通过本轮面试后,对自己的建议,建议不好,尝试 着再争取下。
5、问socket 项目
6、手写单例模式,volatile 关键字的作用
7、手写代码:长度为N 的整型数组删除所有为 0 的数,要求时间复杂度 O(N),空间复杂 度 O(1)。(使用 swap 交换,设置两个索引,分别从前和后遍历,将为 0 的数统一放置数 组末尾,然后 resize)
#面经##社招##Keep##Java工程师##麒麟合盛#