蚂蚁金服社招面试经历(Java)
一面:
1、个人介绍加项目介绍20分钟
2、微服务架构是什么?它的优缺点?
3、ACID CAP BASE理论
4、分布式一致性协议,二段、三段、TCC,优缺点
4、RPC过程
5、服务注册中心宕机了怎么办?
6、微服务还有其他什么组件
7、分布式架构与微服务的关系
8、你有什么问题要问我的?
二面:
1、各种排序算法、未排序常规数据查找第K大的数,时间复杂度。
2、二叉树的深度
3、虚拟内存分页了解不?
4、进程和线程区别?
5、第一二三范式是什么?
6、一个表一千个列值为true和false,写sql 查询 有300个列值为true的行。
7、脏读和幻读是什么?
(1)脏读是指当一个事务正在访问数据,并且对数据进行了修改。而这种修改还没有提交到数据库中,这时,另外一个事务也访问了这个数据,然后使用了这个数据。
(2)幻读是指当事务不是独立执行时发生的一种现象,例如第一个事务对一个表中的数据进行了修改,这种修改涉及到了表中的全部数据行。同时,第二个事务也修改了这个表中的数据,这种修改是向表中插入一行新数据。那么,以后就会发生操作第一个事务的用户发现表中还有没有修改的数据行,就好像发生了幻觉一样。
8、什么对象会从新生代晋升到老年代
9、一个任务分成十个任务,最后汇总计算,不能用fork/join
10、开源框架源码了解不?
11、数据建模两道、个人题开放性题
12、对安全方面了解多少?
13、安全协议有哪些 、https是啥?
14、介绍你做的项目和其中的难点。
15、手撕代码。牛客题霸上的原题,可以去看看:NC58 找到搜索二叉树中两个错误的节点
三面:
1、从ConcurrentHashMap一路问到锁&锁优化->LongAdder->伪共享->缓存行填充->cas等诸多技术细节;
2、从hystrix一路问到原理->自己如何实现->如何优化->响应流编程(reactive streams);
3、从简单的生产者消费者模式设计到如何高效健壮实现等等。
四面:
1、如何倒序输出单向链表?
2、个人直接想法是用栈先进后出的特点,把链表数据读到栈里然后输出。
3、有更好的实现方式吗?
4、主要问项目情况,然后根据一个项目,问如果量级扩大1000倍,你会怎么做?5、有哪些优化措施?高性能&高可用措施?
五面:
1、个人的职业规划是什么?
2、你遇到的最大问题或者是困难是什么?
3、你如何看待我们公司?
3、你能为我们公司带来什么?
4、你的优缺点是什么?
#蚂蚁集团##社招##面经##Java工程师#