百度、抖音、京东等Java后端面试岗,已拿三个offer

百度、抖音、京东等Java后端面试岗,已拿三个offer_第1张图片

百度一面(现场)

自我介绍
Java中的多态
为什么要同时重写hashcode和equals
Hashmap的原理
Hashmap如何变线程安全,每种方式的优缺点
垃圾回收机制
Jvm的参数你知道的说一下
设计模式了解的说一下
手撕一个单例模式
算法题目
手撕算法:反转单链表
手撕算法:实现类似微博子结构的数据结构,输入一系列父子关系,输出一个类似微博评论的父子结构图
手写java多线程
手写java的soeket编程,服务端和客户端
手撕算法:爬楼梯,写出状态转移方程
智力题:时针分针什么时候重合
百度二面(现场)

自我介绍
项目介绍
服务器如何负载均衡,有哪些算法,哪个比较好,一致性哈希原理,怎么避免DDOS攻击请求打到少数机器?
TCP连接中的三次握手和四次挥手,四次挥手的最后一个ack的作用是什么,为什么要time wait,为什么是2msl?
数据库的备份和恢复怎么实现的,主从复制怎么做的,什么时候会出现数据不一致,如何解决?
Linux查看cpu占用率高的进程
手撕算法:给定一个数字三角形,找到从顶部到底部的最小路径和。每一步可以移动到下面一行的相邻数字上。
然后继续在这个问题上扩展
求出最短那条的路径
递归求出所有的路径
设计模式讲一下熟悉的
会不会滥用设计模式?
多线程条件变量为什么要在while体里?
你遇到什么挫折,怎么应对和处理?
百度三面(现场)

自我介绍
项目介绍
Redis的特点
Redis的持久化怎么做,aof和rdb,有什么区别,有什么优缺点?
Redis使用哨兵部署会有什么问题?【我说需要扩容的话还是得集群部署。】
说一下JVM内存模型把,有哪些区,分别干什么的?
说一下gc算法,分代回收说下
MySQL的引擎讲一下,有什么区别,使用场景呢?
分布式事务了解么?
反爬虫的机制,有哪些方式?
百度、抖音、京东等Java后端面试岗,已拿三个offer_第2张图片

头条抖音Java (三面)

一面:

hashmap,怎么扩容,怎么处理数据冲突?怎么高效率的实现数据迁移?
Linux的共享内存如何实现,大概说了一下
socket网络编程,说一下TCP的三次握手和四次挥手
同步IO和异步IO的区别?
Java GC机制?GC Roots有哪些?
红黑树讲一下,五个特性,插入删除操作,时间复杂度?
快排的时间复杂度,最坏情况呢,最好情况呢,堆排序的时间复杂度呢,建堆的复杂度是多少?
二面:

自我介绍,主要讲讲做了什么和擅长什么
设计模式了解哪些?
AtomicInteger怎么实现原子修改的?
ConcurrentHashMap 在Java7和Java8中的区别?为什么Java8并发效率更好?什么情况下用HashMap,什么情况用ConcurrentHashMap?
redis数据结构?
redis数据淘汰机制?
三面(约五十分钟):

mysql实现事务的原理(MVCC)
MySQL数据主从同步是如何实现的?
MySQL索引的实现,innodb的索引,b+树索引是怎么实现的,为什么用b+树做索引节点,一个节点存了多少数据,怎么规定大小,与磁盘页对应?
如果Redis有1亿个key,使用keys命令是否会影响线上服务?
Redis的持久化方式,aod和rdb,具体怎么实现,追加日志和备份文件,底层实现原理的话知道么?
遇到最大困难是什么?怎么克服?
未来的规划是什么?
你想问我什么?
百度、抖音、京东等Java后端面试岗,已拿三个offer_第3张图片

京东4面(Java研发)

一面(基础面:约1小时)

自我介绍,主要讲讲做了什么和擅长什么
springmvc和spring-boot区别
@Autowired的实现原理
Bean的默认作用范围是什么?其他的作用范围?
索引是什么概念有什么作用?MySQL里主要有哪些索引结构?哈希索引和B+树索引比较?
Java线程池的原理?线程池有哪些?线程池工厂有哪些线程池类型,及其线程池参数是什么?
hashmap原理,处理哈希冲突用的哪种方法?
还知道什么处理哈希冲突的方法?
Java GC机制?GC Roots有哪些?
Java怎么进行垃圾回收的?什么对象会进老年代?垃圾回收算法有哪些?为什么新生代使用复制算法?
HashMap的时间复杂度?HashMap中Hash冲突是怎么解决的?链表的上一级结构是什么?Java8中的HashMap有什么变化?红黑树需要比较大小才能进行插入,是依据什么进行比较的?其他Hash冲突解决方式?
hash和B+树的区别?分别应用于什么场景?哪个比较好?
项目里有个数据安全的,aes和md5的区别?详细点
二面(问数据库较多)

自我介绍
为什么MyISAM查询性能好?
事务特性(acid)
隔离级别
SQL慢查询的常见优化步骤?
说下乐观锁,悲观锁(select for update),并写出sql实现
TCP协议的三次握手和四次挥手过程?
用到过哪些rpc框架
数据库连接池怎么实现
Java web过滤器的生命周期
三面(综合面,约一个小时)

自我介绍
ConcurrentHashMap 在Java7和Java8中的区别?为什么Java8并发效率更好?什么情况下用HashMap,什么情况用ConcurrentHashMap?
加锁有什么机制?
ThreadLocal?应用场景?
数据库水平切分,垂直切分的设计思路和切分顺序
Redis如何解决key冲突?
soa和微服务的区别?
单机系统演变为分布式系统,会涉及到哪些技术的调整?请从前面负载到后端详细描述
设计一个秒杀系统?
四面(HR面)

1.你自己最大优势和劣势是什么

2.平时遇见过什么样的挑战,怎么去克服的

3.工作中遇见了技术解决不了的问题,你的应对思路?

4.你的兴趣爱好?

5.未来的职业规划是什么?

百度、抖音、京东等Java后端面试岗,已拿三个offer_第4张图片

头条三面

一面

1.自我介绍

2.项目难点,如何解决的

3.redis:底层数据结构,过期策略,持久化方式及区别

4.kafka:如何保证消息持久性,如何确保消息不丢失,消息同步机制

5.zk如何选主(zab),一个写请求如何执行的,选举为什么要过半

6.java魔数是啥(这个不会。。。)

7.算法题


实现该方法,15分钟

public void printComposite(int[] array, int n) {…}

//给定一个array={1,2,3,4,5}

//当n=2, 输出[1,2],[1,3],[2,3]…

//当n=3, 输出[1,2,3],[1,2,4],[2,3,4]…


二面

1.自我介绍

2.java:aqs是如何实现的,synchronized如何实现的,这俩有啥区别,cas是啥

3.线程池有用过吗,讲下线程池是怎么实现的

4.其他问题忘了…

5.mysql锁机制


在Innodb,RR隔离级别下:

SELECT * FROM users WHERE name = ‘zhangsan’;

给name字段加不同的索引,有什么区别(锁)

case:

(1).唯一索引

(2).普通索引

(3).不创建索引


6.编程题:实现blockingqueue的put和get方法

三面

1.自我介绍,项目介绍,讲一个自己发现问题并解决的经历,聊业务

2.spring-bean是如何加载的,如何解决循环依赖

3.假如希望做一个集群限流器,怎么做,我答可以用redis,实现一个滑动窗口。再追问具体如何实现

4.其他问题忘了…

5.算法题,二叉树最远距离

定义:二叉树节点间距离指的是连接两个节点的边的个数,例如:下图中节点 S 和节点 E 的距离是3.

问题:对于一棵任意形状的二叉树,求二叉树中距离最远的两个节点的距离值。

示例:下面这棵树中最远距离是6 (节点S和H 或S和K 等).

A

/ \

B C

/ \ / \

D E F J

/ \ / \

S T H K


6.业务程序设计题

给了一个业务场景,大体意思是让设计一个异步导出excel的功能,如果有多个任务,如何平均分配到不同节点上

如果有大任务和小任务,希望小任务优先执行,如何设计

再谈谈消息队列
基于以上四个大厂的面试答案我都整理好了,需要的可以找我领取,领取方式:
点击这里《Java面试BAT通关手册》即可领取!

结尾:这半年筹备中,我自己也在不断找资料学习,也通过很多渠道和朋友要到一份Java岗最新的学习资料大全

百度、抖音、京东等Java后端面试岗,已拿三个offer_第5张图片

重点给大家推荐,这份资料中的Java岗面试题库,里面都有Java后端以及一些大厂的面试场景和面试题,我也是不断刷题提高自己的眼界

Java岗技术面试题库(5000+面试题)

这套题库里面中包含了以下很多个模块:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM…

百度、抖音、京东等Java后端面试岗,已拿三个offer_第6张图片

你可能感兴趣的:(Java,算法,java,数据库,数据结构,redis)