BAT 面试题集合

262 篇文章 5 订阅
129 篇文章 1 订阅

今天是码之初面试题系列的最后一天了,前面 11 天分享的高频面试题和答案,不知道看了从头到尾看了的乡亲们有多少,我相信看了的同学一定会有大大小小的收获。那么带着这些问题和答案,我们来看看中国顶尖的大厂,像 BAT 这样的公司一般会问什么样的问题呢?感兴趣的乡亲们不妨来看看。
image.png

基础与框架:

String 类能被继承吗,为什么

类的实例化顺序,比如父类静态数据,构造函数,字段,子类静态数据,构造函数,字段,他们的执行顺序

用过哪些 Map,都有什么区别,HashMap 是线程安全的吗,并发下使用的 Map 是什么,他们内部原理分别是什么,比如 hashcode,扩容等

HashMap 为什么 get 和 set 那么快,concurrentHashMap 为什么能提高并发

抽象类和接口的区别,类可以继承多个类么,接口可以继承多个接口么,类可以实现多个接口么

什么情况下会发生栈内存溢出

什么是 nio,原理

反射中,Class.forName 和 ClassLoader 区别

tomcat 结构,类加载器流程

讲讲 Spring 事务的传播属性,AOP 原理,动态代理与 cglib 实现的区别,AOP 有哪几种实现方式

Spring 的 beanFactory 和 factoryBean 的区别

Spring 加载流程

Spring 如何管理事务的

多线程:

线城池的最大线程数目根据什么确定

多线程的几种实现方式,什么是线程安全,什么是重排序

volatile 的原理,作用,能代替锁么

sleep 和 wait 的区别,以及 wait 的实现原理

Lock 与 synchronized 的区别,synchronized 的原理,什么是自旋锁,偏向锁,轻量级锁,什么叫可重入锁,什么叫公平锁和非公平锁

用过哪些原子类,他们的参数以及原理是什么

用过哪些线程池,他们的原理简单概括下,构造函数的各个参数的含义,比如 coreSize,maxsize 等

有一个第三方接口,有很多个线程去调用获取数据,现在规定每秒钟最多有 10 个线程同时调用它,如何做到。

spring 的 controller 是单例还是多例,怎么保证并发的安全

用三个线程按顺序循环打印 abc 三个字母,比如 abcabcabc

ThreadLocal 用过么,原理是什么,用的时候要注意什么

如果让你实现一个并发安全的链表,你会怎么做

JVM 相关:

jvm 中一次完整的 GC 流程(从 ygc 到 fgc)是怎样的,重点讲讲对象如何晋升到老年代,几种主要的 jvm 参数等

你知道哪几种垃圾收集器,各自的优缺点,重点讲下 cms

当出现了内存溢出,你怎么排错

JVM 内存模型的相关知识了解多少

简单说说你了解的类加载器

JAVA 的反射机制

架构设计与分布式:

tomcat 如何调优,各种参数的意义

常见的缓存策略有哪些,你们项目中用到了什么缓存系统,如何设计的,Redis 的使用要注意什么,持久化方式,内存设置,集群,淘汰策略等

如何防止缓存雪崩

用 java 自己实现一个 LRU

分布式集群下如何做到唯一序列号

设计一个秒杀系统,30 分钟没付款就自动关闭交易

如何做一个分布式锁

用过哪些 MQ,怎么用的,和其他 mq 比较有什么优缺点,MQ 的连接是线程安全的吗

MQ 系统的数据如何保证不丢失

分布式事务的原理,如何使用分布式事务

什么是一致性 hash

什么是 restful,讲讲你理解的 restful

如何设计建立和保持 100w 的长连接?

解释什么是 MESI 协议 (缓存一致性)

说说你知道的几种 HASH 算法,简单的也可以

什么是 paxos 算法

redis 和 memcached 的内存管理的区别

一个在线文档系统,文档可以被编辑,如何防止多人同时对同一份文档进行编辑更新

算法:

10 亿个数字里里面找最小的 10 个

有 1 亿个数字,其中有 2 个是重复的,快速找到它,时间和空间要最优

2 亿个随机生成的无序整数,找出中间大小的值

遍历二叉树

数据库:

数据库隔离级别有哪些,各自的含义是什么,MYsql 默认的隔离级别是是什么,各个存储引擎优缺点

高并发下,如何做到安全的修改同一行数据,乐观锁和悲观锁是什么,INNODB 的行级锁有哪 2 种,解释其含义

SQL 优化的一般步骤是什么,怎么看执行计划,如何理解其中各个字段的含义,索引的原理?

数据库会死锁吗,举一个死锁的例子,mysql 怎么解决死锁

MYsql 的索引实现方式

聚集索引和非聚集索引的区别

数据库中 BTREE 和 B+tree 区别

怎么样,有难度吗?乡亲们觉得能回答出来多少呢?可以留言告诉我答案

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值