蚂蚁金服 + 拼多多 + 抖音 + 天猫 Java 面经合集,金九银十 Java 开发校招社招福音!
前言
很多 Java 开发者面试之前,可能没有较长的工作时间或者较为丰富的工作经验,所以不知道互联网公司或者一线互联网公司技术面试都会问哪些问题? 再加上可能自己准备也不充分,去面试没几个回合就被面试官几个问题打蒙了,最后以惨败收场。针对这些的读者朋友,小编整理了一些知名大厂的面经,在这分享给读者朋友们参考,让即将面试或是有想法跳槽的读者朋友们了解一下一线大厂面试时都喜欢问那些问题。
开始
蚂蚁金服(三面)Zookeeper+微服务+消息中间件+高并发架构设计
一面
讲一下线程参数的含义
Innodb 的索引实现
为什么是 B+树?
Redis 的使用,分布式锁的实现
操作系统虚拟内存换页的过程
TCP 三次握手
volatile 关键字的作用
乐观锁、悲观锁
之前用过哪些设计模式?
算法题:滑动窗口
二面
在工作中,SQL 语句的优化和注意的事项
哪些库或者框架用到 NIO
Spring 都有哪几种注入方式,什么情况下用哪种,ioc 实现原理
如何定位一个慢查询,一个服务有多条 SQL 你怎么快速定位
聚集索引和非聚集索引知道吗?什么情况用聚集索引什么情况用非聚集索引
Nosql 引擎用的什么存储结构,关系型数据库和 NoSQL 各自的优劣点是什么,如何技术选型?
微服务架构下,如果有一个订单系统,一个库存系统,怎么保证事务?
分布式一致性协议 raft,paxos 了解吗
Zookeeper 中的 ZAB 协议,选主算法
三面
自我介绍
参与的并发项目,从设计到部署,按照流程讲一遍。
项目相关你用过 redis,用在什么场景,怎么使用的?
mysql 同步机制原理,有哪几种同步方法
数据库主从同步如何实现,事务如何实现
谈谈你对 SOA 和微服务的理解,以及分布式架构从应用层面涉及到的调整和挑战。
阿里系中间件 metaQ 及原理与现有的 kafka 有什么异同
在阿里有了解过什么中间件吗?实现原理?与其他开源消息队列有什么特点?
为什么选择换公司?
三年到五年的职业规划?
你有想问我的?
拼多多(三面)幻影读+分段锁+Spring Cloud+秒杀
一面
简短自我介绍
说一下 B 树和 B+树的区别
说一下 HashMap 的实现,扩容机制,扩容时如何保证可操作?
Redis 扩容机制(渐进式单线程扩容)
Spring IoC 的原理,如何实现,如何解决循环依赖?
两线程对变量 i 进行加 1 操作,结果如何?为什么?怎么解决?
CAS 概念、原子类实现原理
synchronize 底层实现,如何实现 Lock?
AQS 有什么特点?
手写项目中某个模块代码。
介绍各种网络协议。
DNS 在网络层用哪个协议,为什么。
介绍 HTTPS 协议,详述 SSL 建立连接过程。
二面
乐观锁和悲观锁了解吗?JDK 中涉及到乐观锁和悲观锁的内容?
Nginx 负载均衡策略?
Nginx 和其他负载均衡框架对比过吗?
Redis 是单线程?
Redis 高并发快的原因?
如何利用 Redis 处理热点数据
谈谈 Redis 哨兵、复制、集群
工作中技术优化过哪些?JVM、MySQL、代码等都谈谈
三面
Spring Cloud 用到什么东西?如何实现负载均衡?服务挂了注册中心怎么判断?
网络编程 nio 和 netty 相关,netty 的线程模型,零拷贝实现
分布式锁的实现你知道的有哪些?具体详细谈一种实现方式
高并发的应用场景,技术需要涉及到哪些?怎样来架构设计?
接着高并发的问题,谈到了秒杀等的技术应用:kafka、redis、mycat 等
最后谈谈你参与过的项目,技术含量比较高的,相关的架构设计以及你负责哪些核心编码
抖音
一面(50 分钟)
hashmap,怎么扩容,怎么处理数据冲突?怎么高效率的实现数据迁移?
Linux 的共享内存如何实现,大概说了一下。
socket 网络编程,说一下 TCP 的三次握手和四次挥手
同步 IO 和异步 IO 的区别?
Java GC 机制?GC Roots 有哪些?
红黑树讲一下,五个特性,插入删除操作,时间复杂度?
**的时间复杂度,最坏情况呢,最好情况呢,堆排序的时间复杂度呢,建堆的复杂度是多少
二面(40 分钟)
自我介绍,主要讲讲做了什么和擅长什么
算法题多到爆炸,感觉是算法专场,宇宙条果真名不虚传
说一下 Java 垃圾回收机制
64 匹马,8 个赛道,找最快的 4 匹马
给出两个升序数组 A、B 和长度 m、n,求第 k 个大的
给出数组 A,长度为 n,数组中元素的值位于[0, n - 1]之间,求是否有重复元素
讲一下多线程与多进程区别
JVM 中什么时候会进行垃圾回收?什么样的对象是可以回收的?
Spring 主要思想是什么?
三面(约 1 个小时)
mysql 实现事务的原理(MVCC)
MySQL 数据主从同步是如何实现的?
MySQL 索引的实现,innodb 的索引,b+树索引是怎么实现的,为什么用 b+树做索引节点,一个节点存了多少数据,怎么规定大小,与磁盘页对应。
如果 Redis 有 1 亿个 key,使用 keys 命令是否会影响线上服务?
Redis 的持久化方式,aod 和 rdb,具体怎么实现,追加日志和备份文件,底层实现原理的话知道么?
遇到最大困难是什么?怎么克服?
未来的规划是什么?
你想问我什么?
天猫(四面)发压测+Mina+事务+集群+秒杀架构
一面
常见集合类的区别和适用场景
并发容器了解哪些?
如何判断链表是否有环
concurrentHashMap 如何实现
集群服务器 如何 application 共享
JAVA 网络编程中:BIO、NIO、AIO 的区别和联系
jvm 内存模型 jmm 知道的全讲讲
JAVA 的垃圾回收,标记算法和复制算法的区别,用在什么场合?
http 和 https 的区别,http1.x 和 http2.0 的区别,SSL 和 TSL 之间的区别
GC、G1 和 ZGC 的区别
B+树和 B 树的区别,和红黑树的区别
内存泄漏与内存溢出的区别
session 的生命周期是多久
关于 Mina 框架了解多少?(因为我在项目里用到了 Mina,所以提到了这个部分)
二面
java cas 原理
JAVA 线程池有哪些参数,如果自己设计一个线程池要考虑哪些问题?
Java 的 lock 的底层实现?
mysql 数据库默认存储引擎,有什么优点
MySQL 的事务隔离级别,分别解决什么问题。
四个表 记录成绩,每个大约十万条记录,如何找到成绩最好的同学
常见的负载均衡算法有哪些
如果 Redis 有 1 亿个 key,使用 keys 命令是否会影响线上服务
Redis 的持久化方式,aod 和 rdb,具体怎么实现,追加日志和备份文件,底层实现原理的话知道么
三面
请画一个完整大型网站的分布式服务器集群部署图
多个 RPC 请求进来,服务器怎么处理并发呢
讲一下 Redis 的哨兵机制
数据库分库分表一般数据量多大才需要?
如何保证数据库与 redis 缓存一致的
项目中消息队列怎么用的?使用哪些具体业务场景?
JVM 相关的分析工具有使用过哪些?具体的性能调优步骤吗?
MySQL 的慢 sql 优化一般如何来做?除此外还有什么方法优化?
线上的服务器监控指标,你认为哪些指标是最需要关注的?为什么?
如何做压测,抗压手段
秒杀模块怎么设计的
Java 高频面试题答案获取方式:关注小编,后台私信小编“答案”即可获取。
HR 面
自我介绍
你怎么评价你之前的 3 轮面试
你怎么看待你自己,你最大的核心竞争力是什么
未来自己的职业规划
对阿里技术氛围有什么样的理解,用过哪些阿里的开源库
期望的薪资是多少
最后,你有什么想了解的
以上就是一些知名大厂的面试经过,现在已经差不多进入了求职招聘高峰,小编在这分享总结的 Java 面试的高频面试题(包括了 Java 集合,JVM,并发与多线程,Spring,MyBaits,微服务,Dubbo,Kakfa,中间件,Redis,数据库,设计模式等),进行了整理
2021 最新 Java 必考面试题集锦
这几十套面试题小编已经为大家整理好了,由于面试文档很多,内容更多,没有办法一一为大家展示出来,所以只好为大家节选出来了一部分供大家参考
面试题目录汇总
这几十套面试题已经为大家整理好了,由于面试文档很多,内容更多,没有办法一一为大家展示出来,所以只好为大家节选出来了一部分供大家参考。
评论