某AI公司
一面(电话面+基础技术面)
聊了下Java的基础知识,涉及的点包括:
1、StringBuilder,String,StringBuffer的区别,使用场景
2、String不可变的设计原理,以及这样设计的原因
3、HashMap的实现原理,1.8之后对于碰撞怎么处理的,如果key没有实现compareable接口,红黑树根据什么插入?
4、聊了下jvm的内存结构,线程安全的部门,各个部门的职能?
5、说明下类的加载过程,类加载的双亲委派模型?
6、聊下Spring的架构
二面(项目面+技术面)
1、聊一下你最熟悉的项目,描述下难点
2、聊了下Java的内存模型,可见性;
3、Java线程安全实现的几种机制;
5、HashMap并发下的问题;
6、ConcurrentHashMap的实现,1.7和1.8的区别;
7、Java中的并发原语,synchronized和ReentrantLock的实现原理以及区别;
8、聊下Java的线程池,以及使用注意点
9、锁和cas的使用场景,他俩的区别;
10、有没有实际测试过各种场景的性能数据,都有怎么样的表现
11、离职的原因,对未来的规划
某在线旅游公司
笔试:
先做半个小时的笔试题,一共六个题目,两道go语言的基础题,一道斐波那契相关,一道数据库行列转置,一道实现一个栈,还有一道是百万计的MySQL优化
没有接触过go语言,第一,二题,猜了下答案,第三题过,第四题没写出,第五题漏了内部数组收缩的场景,第六题,简单的写了几点关于建表和使用索引相关
一面(技术+项目)
没有讨论笔试题,先自我介绍,然后从项目开始问起穿插一些基础知识点的面试,难度不大。
其中有个问题,你这个项目做了一年多,里面主要实现了哪些需求,这个回答的没有条理。暴露了平常没有总结的习惯,都是业务驱动着跑。
二面(架构师面)
架构师对两年前做的一个项目比较感兴趣,由于是裸面,做的时间也比较久了,答的不是很好,也是零零碎碎的打了一些,虽然架构师表示理解,但是我也基本断定出,挂在这里了。
全部评论
(3) 回帖