前言:
大厂面试机会难得,为了提高面试通关率,建议朋友们在面试前先复盘自己的知识栈,依据掌握程度划分重要、优先级,系统地去学习!如果不准备充分就去参加面试,既会失去进入大厂的机会,更是对自己的不负责。
蚂蚁花呗一面(一个小时):
1、Java容器有哪些?哪些是同步容器,哪些是并发容器? 2、ArrayList和LinkedList的插入和访问的时间复杂度? 3、java反射原理, 注解原理? 4、说说一致性 Hash 原理 5、新生代分为几个区?使用什么算法进行垃圾回收?为什么使用这个算法? 6、HashMap在什么情况下会扩容,或者有哪些操作会导致扩容? 7、HashMap push方法的执行过程? 8、HashMap检测到hash冲突后,将元素插入在链表的末尾还是开头? 9、1.8还采用了红黑树,讲讲红黑树的特性,为什么人家一定要用红黑树而不是AVL、B树之类的? 10、https和http区别,有没有用过其他安全传输手段? 11、线程池的工作原理,几个重要参数,然后给了具体几个参数分析线程池会怎么做,最后问阻塞队列的作用是什么? 12、linux怎么查看系统负载情况? 13、请详细描述springmvc处理请求全流程? 14、spring 一个bean装配的过程? 15、项目用 Spring 比较多,有没有了解 Spring 的原理?AOP 和 IOC 的原理
蚂蚁花呗二面:
1、查询中哪些情况不会使用索引? 2、数据库索引,底层是怎样实现的,为什么要用B树索引? 3、Mysql主从同步的实现原理? 4、MySQL是怎么用B+树? 5、谈谈数据库乐观锁与悲观锁? 6、有使用过哪些NoSQL数据库?MongoDB和Redis适用哪些场景? 7、描述分布式事务之TCC服务设计? 8、Redis和memcache有什么区别?Redis为什么比memcache有优势? 9、Redis 的数据结构 10、海量数据过滤,黑名单过滤一个 url。 11、讲一讲AtomicInteger,为什么要用CAS而不是synchronized?
蚂蚁花呗三面:
1、考虑redis的时候,有没有考虑容量?大概数据量会有多少? 2、Redis 的 list zset 的底层实现 3、solr和mongodb的区别,存数据为什么不用solr? 4、分布式 session 的共享方案有哪些,有什么优劣势 5、谈谈分布式锁、以及分布式全局唯一ID的实现比较? 6、集群监控的时候,重点需要关注哪些技术指标?这些指标如何优化? 7、从千万的数据到亿级的数据,会面临哪些技术挑战?你的技术解决思路? 8、数据库分库分表需要怎样来实现? 9、排序算法的复杂度,快速排序非递归实现。 10、消息中间件有哪些?他们之间的优劣势?
蚂蚁花呗四面:
1、分布式架构设计哪方面比较熟悉 2、介绍你实践的性能优化案例,以及你的优化思路 3、介绍项目,谈一个你觉得你学到最多的项目,使用了什么技术,挑战在哪里 各种聊项目,从项目的架构设计到部署流程。 4、最近有没有学习过新技术? 5、有什么想问我的? 6、最近两年遇到的最大的挫折,从挫折中学到了什么? 7、三年到五年的职业规划?
HR面:
1、工作中遇到的最大挑战是什么,你如何克服的? 2、你最大的优点和最大的缺点,各自说一个? 3、未来的职业发展,短期和长期的规划是什么? 4、最后主要就是HR走流程了,主要问了未来的职业规划。
获取资料:
最后给大家分享一些学习资料,里面包括:(BATJ面试资料、高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)和Java进阶学习路线图。
需要的朋友点赞支持一下文章吧。