7月29号 某大厂一面 高级 java 开发工程师(金融)
面试流程:先自我介绍,然后问一些项目相关的问题,然后问一些 八股文 ,然后在线编程题目(算法相关)
整个流程:5轮 初面-二面-三面-hr面-技术面(可能)
1 自我介绍
2 问问题
项目相关:
重点介绍某个项目,然后从数据库设计、缓存设计、其他功能设计等等方面询问
设计模式
1 项目中有用到什么设计模式,介绍你熟悉的设计模式
2 工厂模式 和策略模式有啥不一样
集合
1、 hashmap 为啥线程不安全以及put过程
2、哈希冲突怎么解决
3、 ConcurrentHashMap ,底层结构,怎么提高并发能力
JVM
1 JVM内存模型
锁
1 讲讲你知道的锁,什么是可重入锁
2 ReentrantLook是怎么实现
3 信号量用过吗?一般用在什么场景
算法题:
1 每个节点除了key,value和next元素外,还多了一个random指针,这个指针随机可以随机指向表内任意元素,要求空间复杂度为O(1),新复制一个一模一样的 链表 出来。新链表所需要的空间不计入空间复杂度.
2 给你任意两个整数,这两个整数相除的结果使用小数进行表示,如果出现 循环小数 ,则找出循环小数,然后用括号括住循环的数字。例如,1/3=0.(3),3就是其中的循环小数,需要打括号
耗时:65分钟