百度一面(现场)
自我介绍Java中的多态为什么要同时重写hashcode和equalsHashmap的原理Hashmap如何变线程安全,每种方式的优缺点垃圾回收机制Jvm的参数你知道的说一下设计模式了解的说一下手撕一个单例模式算法题目手撕算法:反转单链表手撕算法:实现类似微博子结构的数据结构,输入一系列父子关系,输出一个类似微博评论的父子结构图手写java多线程手写java的soeket编程,服务端和客户端手撕算法:爬楼梯,写出状态转移方程智力题:时针分针什么时候重合百度二面(现场)
自我介绍项目介绍服务器如何负载均衡,有哪些算法,哪个比较好,一致性哈希原理,怎么避免DDOS攻击请求打到少数机器?TCP连接中的三次握手和四次挥手,四次挥手的最后一个ack的作用是什么,为什么要time wait,为什么是2msl?数据库的备份和恢复怎么实现的,主从复制怎么做的,什么时候会出现数据不一致,如何解决?Linux查看cpu占用率高的进程手撕算法:给定一个数字三角形,找到从顶部到底部的最小路径和。每一步可以移动到下面一行的相邻数字上。然后继续在这个问题上扩展求出最短那条的路径递归求出所有的路径设计模式讲一下熟悉的会不会滥用设计模式?多线程条件变量为什么要在while体里?你遇到什么挫折,怎么应对和处理?百度三面(现场)
自我介绍项目介绍Redis的特点Redis的持久化怎么做,aof和rdb,有什么区别,有什么优缺点?Redis使用哨兵部署会有什么问题?【我说需要扩容的话还是得集群部署。】说一下JVM内存模型把,有哪些区,分别干什么的?说一下gc算法,分代回收说下MySQL的引擎讲一下,有什么区别,使用场景呢?分布式事务了解么?反爬虫的机制,有哪些方式?
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相关:架构设计、数据一致性问题容器:容器的设计原理等技术二面题目:
参与的项目,选一个,技术难度在哪里?Collections.sort底层排序方式负载均衡的原理设计模式与重构,谈谈你对重构的理解谈谈redis相关的集群有哪些成熟方案?再谈谈一致hash算法(redis)数据库索引,B+树的特性和建树过程Mysql相关的行锁,表锁、乐观锁、悲观锁谈谈多线程和并发工具的使用谈谈redis的架构和组件Redis的数据一致性问题(分布式多节点环境&单机环境)Docker容器Java中间件三面
技术三面考察范围:
主要谈到了高并发的实现方案以及中间件:redis、rocketmq、kafka等的架构设计思路最后问了平时怎么提升技术的技术三面题目:
高并发情况下,系统是如何支撑大量的请求的?接着上面的问题,延伸到了中间件,kafka、redis、rocketmq、mycat等设计思路和适用场景等最近上过哪些技术网站?最近再看哪些书?工作和生活中遇见最大的挑战,怎么去克服?未来有怎样的打算Java中间件四面
最后,你懂的,主要就是HR走流程了,主要问了未来的职业规划。
蚂蚁中间件一面
自我介绍JVM垃圾回收算法和垃圾回收器有哪些,最新的JDK采用什么算法?新生代和老年代的回收机制讲一下ArrayList和linkedlist的区别,ArrayList与HashMap的扩容方式Concurrenthashmap1.8后的改动Java中的多线程,以及线程池的增长策略和拒绝策略了解么?Tomcat的类加载器了解么?Spring的ioc和aop,Springmvc的基本架构,请求流程HTTP协议与Tcp有什么区别,http1.0和2.0的区别?Java的网络编程,讲讲NIO的实现方式,与BIO的区别,以及介绍常用的NIO框架索引什么时候会失效变成全表扫描?介绍下分布式的paxos和raft算法蚂蚁中间件二面
你在项目中怎么用到并发的?消息队列的使用场景,谈谈Kafka你说了解分布式服务,那么你怎么理解分布式服务?Dubbo和Spring Clound的区别,以及使用场景讲一下docker的实现原理,以及与JVM的区别MongoDB、Redis和Memcached的应用场景,各自优势MongoDB有事务吗?Redis说一下sorted set底层原理讲讲Netty为什么并发高,相关的核心组件有哪些?蚂蚁中间件三面
完整的画一个分布式集群部署图,从负载均衡到后端数据库集群分布式锁的方案,Redis和Zookeeper哪个好,如果是集群部署,高并发情况下哪个性能更好?分布式系统的全局id如何实现?数据库万级变成亿级,你如何来解决?常见的服务器雪崩是由什么引起的,如何来防范?异地容灾怎么实现?常用的高并发技术解决方案有哪些,以及对应的解决步骤?这份面试文件涵盖了Java开发1至5年的面试常见技术问题,整体分为当季最新系列、大厂面试真题系列、技术系统分类系列三部分。(纯文字文本占内存46.97MB)
需要的朋友,帮小编转发一下文章,后台私信【大厂】获取免费领取方式!
2020年最新面试题
大厂面试真题
系统技术分类系列
JVM、MySQL、Mybatis、MongoDB、Redis、Spring、Spring boot、Spring cloud、Kafka、RabbitMQ、Nginx......
以上所有的面试资料均可免费领取,需要的朋友,后台私信【大厂】即可获取免费领取方式!