写点什么

2021 互联网大厂面经最新分享:百度 / 阿里 / 蚂蚁(附答案解析)

用户头像
比伯
关注
发布于: 2021 年 04 月 07 日
2021互联网大厂面经最新分享:百度/阿里/蚂蚁(附答案解析)

百度(三面)



百度一面(现场)

  1. 自我介绍

  2. Java 中的多态

  3. 为什么要同时重写 hashcode 和 equals

  4. Hashmap 的原理

  5. Hashmap 如何变线程安全,每种方式的优缺点

  6. 垃圾回收机制

  7. Jvm 的参数你知道的说一下

  8. 设计模式了解的说一下

  9. 手撕一个单例模式

  10. 算法题目

  11. 手撕算法:反转单链表

  12. 手撕算法:实现类似微博子结构的数据结构,输入一系列父子关系,输出一个类似微博评论的父子结构图

  13. 手写 java 多线程

  14. 手写 java 的 soeket 编程,服务端和客户端

  15. 手撕算法:爬楼梯,写出状态转移方程

  16. 智力题:时针分针什么时候重合

百度二面(现场)

  1. 自我介绍

  2. 项目介绍

  3. 服务器如何负载均衡,有哪些算法,哪个比较好,一致性哈希原理,怎么避免 DDOS 攻击请求打到少数机器?

  4. TCP 连接中的三次握手和四次挥手,四次挥手的最后一个 ack 的作用是什么,为什么要 time wait,为什么是 2msl?

  5. 数据库的备份和恢复怎么实现的,主从复制怎么做的,什么时候会出现数据不一致,如何解决?

  6. Linux 查看 cpu 占用率高的进程

  7. 手撕算法:给定一个数字三角形,找到从顶部到底部的最小路径和。每一步可以移动到下面一行的相邻数字上。

  8. 然后继续在这个问题上扩展

  9. 求出最短那条的路径

  10. 递归求出所有的路径

  11. 设计模式讲一下熟悉的

  12. 会不会滥用设计模式?

  13. 多线程条件变量为什么要在 while 体里?

  14. 你遇到什么挫折,怎么应对和处理?

百度三面(现场)

  1. 自我介绍

  2. 项目介绍

  3. Redis 的特点

  4. Redis 的持久化怎么做,aof 和 rdb,有什么区别,有什么优缺点?

  5. Redis 使用哨兵部署会有什么问题?【我说需要扩容的话还是得集群部署。】

  6. 说一下 JVM 内存模型把,有哪些区,分别干什么的?

  7. 说一下 gc 算法,分代回收说下

  8. MySQL 的引擎讲一下,有什么区别,使用场景呢?

  9. 分布式事务了解么?

  10. 反爬虫的机制,有哪些方式?

阿里中间件(四面)



Java 中间件一面

技术一面考察范围:

  • 重点问了 Java 线程锁:synchronized 和 ReentrantLock 相关的底层实现

  • 线程池的底层实现以及常见的参数

  • 数据结构基本都问了一遍,链表、队列等

  • Java 内存模型:常问的 JVM 分代模型,以及 JDK1.8 后的区别,最后还问了 JVM 相关的调优参数

  • 分布式锁的实现比较

技术一面题目:

1:自我介绍

2:擅长哪方面的技术?

3;java 有哪些锁中类?(乐观锁 &悲观锁、可重入锁 &Synchronize 等)

4:比较重要的数据结构,如链表,队列,栈的基本原理及大致实现

5:J.U.C 下的常见类的使用。Threadpool 的深入考察;blockingQueue 的使用

6:Java 内存分代模型,GC 算法,JVM 常见的启动参数;CMS 算法的过程

7:Volatile 关键字有什么用(包括底层原理)?

8:线程池的调优策略

9:Spring cloud 的服务注册与发现是怎么设计的?

10:分布式系统的全局 id 如何实现

11:分布式锁的方案,redis 和 zookeeper 那个好,如果是集群部署,高并发情况下那个性能更好?

Java 中间件二面

技术二面考察范围:

  • 问了项目相关的技术实现细节

  • 数据库相关:索引、索引底层实现、mysql 相关的行锁、表锁等

  • redis 相关:架构设计、数据一致性问题

  • 容器:容器的设计原理等

技术二面题目:

  1. 参与的项目,选一个,技术难度在哪里?

  2. Collections.sort 底层排序方式

  3. 负载均衡的原理

  4. 设计模式与重构,谈谈你对重构的理解

  5. 谈谈 redis 相关的集群有哪些成熟方案?

  6. 再谈谈一致 hash 算法(redis)

  7. 数据库索引,B+树的特性和建树过程

  8. Mysql 相关的行锁,表锁、乐观锁、悲观锁

  9. 谈谈多线程和并发工具的使用

  10. 谈谈 redis 的架构和组件

  11. Redis 的数据一致性问题(分布式多节点环境 &单机环境)

  12. Docker 容器

Java 中间件三面

技术三面考察范围:

  • 主要谈到了高并发的实现方案

  • 以及中间件:redis、rocketmq、kafka 等的架构设计思路

  • 最后问了平时怎么提升技术的

技术三面题目:

  1. 高并发情况下,系统是如何支撑大量的请求的?

  2. 接着上面的问题,延伸到了中间件,kafka、redis、rocketmq、mycat 等设计思路和适用场景等

  3. 最近上过哪些技术网站?最近再看哪些书?

  4. 工作和生活中遇见最大的挑战,怎么去克服?

  5. 未来有怎样的打算

Java 中间件四面

最后,你懂的,主要就是 HR 走流程了,主要问了未来的职业规划。

蚂蚁中间件团队面试题



蚂蚁中间件一面

  1. 自我介绍

  2. JVM 垃圾回收算法和垃圾回收器有哪些,最新的 JDK 采用什么算法?

  3. 新生代和老年代的回收机制

  4. 讲一下 ArrayList 和 linkedlist 的区别,ArrayList 与 HashMap 的扩容方式

  5. Concurrenthashmap1.8 后的改动

  6. Java 中的多线程,以及线程池的增长策略和拒绝策略了解么?

  7. Tomcat 的类加载器了解么?

  8. Spring 的 ioc 和 aop,Springmvc 的基本架构,请求流程

  9. HTTP 协议与 Tcp 有什么区别,http1.0 和 2.0 的区别?

  10. Java 的网络编程,讲讲 NIO 的实现方式,与 BIO 的区别,以及介绍常用的 NIO 框架

  11. 索引什么时候会失效变成全表扫描?

  12. 介绍下分布式的 paxos 和 raft 算法

蚂蚁中间件二面

  1. 你在项目中怎么用到并发的?

  2. 消息队列的使用场景,谈谈 Kafka

  3. 你说了解分布式服务,那么你怎么理解分布式服务?

  4. Dubbo 和 Spring Clound 的区别,以及使用场景

  5. 讲一下 docker 的实现原理,以及与 JVM 的区别

  6. MongoDB、Redis 和 Memcached 的应用场景,各自优势

  7. MongoDB 有事务吗?

  8. Redis 说一下 sorted set 底层原理

  9. 讲讲 Netty 为什么并发高,相关的核心组件有哪些?

蚂蚁中间件三面

  1. 完整的画一个分布式集群部署图,从负载均衡到后端数据库集群

  2. 分布式锁的方案,Redis 和 Zookeeper 哪个好,如果是集群部署,高并发情况下哪个性能更好?

  3. 分布式系统的全局 id 如何实现?

  4. 数据库万级变成亿级,你如何来解决?

  5. 常见的服务器雪崩是由什么引起的,如何来防范?

  6. 异地容灾怎么实现?

  7. 常用的高并发技术解决方案有哪些,以及对应的解决步骤?

面试答案

这份面试文件涵盖了 Java 开发 1 至 5 年的面试常见技术问题,整体分为当季最新系列、大厂面试真题系列、技术系统分类系列三部分。(纯文字文本占内存 46.97MB)

需要的朋友,帮小编转发一下文章,添加小助理 vx:mxzFAFAFA 即可!!

  • 2020 年最新面试题






  • 大厂面试真题





  • 系统技术分类系列

JVM、MySQL、Mybatis、MongoDB、Redis、Spring、Spring boot、Spring cloud、Kafka、RabbitMQ、Nginx......





以上所有的面试资料均可免费领取,需要的朋友,添加小助理 vx:mxzFAFAFA 即可!!

发布于: 2021 年 04 月 07 日阅读数: 16
用户头像

比伯

关注

还未添加个人签名 2020.11.09 加入

还未添加个人简介

评论

发布
暂无评论
2021互联网大厂面经最新分享:百度/阿里/蚂蚁(附答案解析)