-
自我介绍
-
聊聊项目,时间大概15种左右,面试官会根据项目的一些设计点来提问,提前做好准备,别自己坑了自己
-
分布式锁是锁住一部分还是整个系统,既然是锁住整个,为什么不用消息队列?
-
详细讲下怎么用 mq 实现的最终一致性,还有怎么利用的消息事务?
-
tcp 于 http 的关系,如何基于 tcp 实现 http
-
Java 打开一个 http 流不关闭的后果
-
io 流是基于抽象类还是接口实现的
-
数据库的乐观锁和悲观锁是什么
-
乐观锁实现原理,讲到一半,来写一个乐观锁吧
-
java 的类中有什么方法
-
线程安全是什么?
-
volatile 和 synchorized 的区别
-
假如有一个类 A 和一个 类 B,这两个类都有一个变量和一个自增操作,A 类的变量用 volatile 修饰,B 类没有用,B 类的自增操作用 synchorized 修饰,他们都是线程安全的吗,如果都是,那为什么要用 synchorized ,volatile 不是更轻量吗,synchorized 有什么作用。
-
智力题:岛上有群人,各自戴着红帽子或者白帽子,但都不知道自己帽子颜色,只有知道自己帽子颜色,第二天才能出岛,这时候有个人进来说了句“你们之中至少有一个人戴了顶红帽子”,问岛上的人最后的离开情况
-
算法:矩阵中的最长上升序列
百度二面面试题:
-
自我介绍
-
项目介绍
-
java集合框架全部介绍,从list set queue到map
-
hashmap底层扩容线程安全问题
-
如果一个对象 要作为hashmap的key需要做什么?
-
Threadlocal类以及内存泄漏
-
线程同步方式,具体每一个怎么做的
-
jvm类加载双亲委派模式,有没有能破坏这个模式的方法?类加载整个过程解释
-
垃圾回收算法,垃圾回收器有什么?
-
synchronized用在静态和非静态方法的区别
-
你做项目的思路是什么,看过什么源码,什么开源网站经常访间,看是什么学的的书不?
百度三面面试题:
-
问项目相关的技术栈(我回答的是MongoDB)
-
怼问:为什么要用MongoDB?为什么不用MySQL?MongoDB有哪些特性,能说一下吗?
-
文档型数据库有哪些?ES与MongoDB有什么区别?为什么ES搜索更快?
-
数据库都有哪些类型,关系型数据库和NoSQL有什么区别?
-
NoSQL有哪些?他们的使用场景都说一下
-
问JVM,从加载到卸载的过程都说一下
-
UML都有哪些图?如何从这些UML的图中来实现你的需求设计?
-
设计模式说一下,Spring源码看过吧?那说一下设计模式是如何在Spring中体现的?
-
Spring为什么要用简单工厂模式?
-
微服务了解过吧(了解过一点),微服务都有什么好处?
-
微服务都有哪些框架或中间件?
-
SpringCloud都有哪些组件啊?和阿里开源的这些有什么不同呢?如果要你用你该如何选择?
-
SOA了解过吧?那什么是SOA?SOA与微服务相比有什么优缺点?
-
如果让你提高一个系统,你该怎么做?如果让你设计一个系统,你要考虑哪些方面?
-
对什么技术比较熟悉(回答的Java多线程),JDK提供了什么来实现线程安全啊?
-
超线程是什么?知道吗?(顿时懵了,啥啊,没听过)
-
对未来的技术有什么规划?你为什么要学这些技术?
百度面试题答案+解析:
字节跳动点评一面面试题:
-
介绍项目(我说了用了分布式锁,然后就开始针对分布式进行提问了)
-
分布式锁的实现
-
分布式锁过期解决
-
前缀树是什么?前缀树的使用场景?
-
分布式数据库主从复制(我说我不会分布式的,我会主从复制,然后面试官叫我讲讲)
-
MySQL 死锁发生的原因和解决
-
MySQL 分别建立索引 a,b,c ,语句 select …where b=x,c=x,a=x 能不能用到索引,建立联合索引能不能用到,a=x,b>x,能不能用到,用到几个索引?
-
B 树和 b+ 树的区别 b+ 树的优点
-
Linux cpu 满了怎么排查?
-
怎么查看占 cpu 最多的线程?
-
Linux怎么搜索文件中的字符串,写到另一个文件中
-
liunx 网络相关命令
-
如何判断链表是否有环
-
Java = 和 equals的区别
-
Java contentMap 和 HashMap 什么区别,线程安全怎么实现
-
HashMap 怎么解决哈希冲突,哈希冲突还有什么解决方法
-
Java 运行时异常和检查性异常
-
Java 类加载
-
什么是泛型 泛型的使用场景
-
面向过程和面向对象(一紧张差点三大特性的多态想了十秒才说出来)
-
多态是什么?父类如何调用子类的方法
-
问我看了啥书(设计模式,图解HTTP,Modern PHP…被打断然后开始问设计模式)
字节跳动点评二面面试题:
-
自我介绍
-
进程调度、虚拟内存、进程与线程的区别、如何判断进程是否发生了内存泄漏
-
常见的设计模式
-
tcp与udp区别、tcp三次握手和四次挥手、流量控制、拥塞控制(四个算法,问得很细)
-
分布式事务(并说一下2PC)、redis底层数据结构有哪些、持久化方式
-
B+树索引和hash索引的区别
-
redis分布式锁,其他实现方式,zookeeper如何实现的?
-
分布式的一致性,强一致性和最终一致性
-
Linux如何查看IO读写很高
-
集群脑裂
-
Linux中异步IO是如何实现的,消息队列如何实现的?
-
Redis持久化,“并发高,数据量小”和“并发低,数据量大”,redis怎么选择存储模式
-
Mysql主从复制原理,mysql中如何做故障转移(容灾)
-
Nginx生命周期
-
疫情期间,如果让你去调研所在城市口罩的可用量,有哪些方案?
字节跳动点评三面面试题:
-
Java数据类型,同步机制
-
hashmap correnthashmap?
-
Threadlocal原理?
-
讲讲贪心算法
-
并发量很大,服务器宕机。你会怎么做?
-
如果线上用户出现502错误你怎么排查?
-
说一下你平时的学习方法?
-
能告诉我你的博客地址吗?(当然可以啊,难道我要说不告诉你吗)
-
syn和lock的区别,哪个更好?
-
怎选择 三次握手,第三次失败了,失败怎么办?为什么四次挥手?
-
hashmap源码,为什么8个节点变成红黑树 又为什么到了6个节点才恢复为链表?(泊松分布)
-
缓存穿透,怎解决?
-
负载均衡算法的实现
-
轮询和随机的缺点?
-
分布式服务治理
-
dns迭代和递归的区别
-
算法:最大回文串
字节跳动点评HR面:
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
更多:Java进阶核心知识集
包含:JVM,JAVA集合,网络,JAVA多线程并发,JAVA基础,Spring原理,微服务,Zookeeper,Kafka,RabbitMQ,Hbase,MongoDB,Cassandra,设计模式,负载均衡,数据库,一致性哈希,JAVA算法,数据结构,加密算法,分布式缓存等等
高效学习视频
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
okeeper,Kafka,RabbitMQ,Hbase,MongoDB,Cassandra,设计模式,负载均衡,数据库,一致性哈希,JAVA算法,数据结构,加密算法,分布式缓存等等
[外链图片转存中…(img-WmVlCIMD-1713496201407)]
高效学习视频
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!