中小厂(五八、中通、安硕、浩鲸...) Java 后端面经
大家好,我是码农人。
今天小编简单对小伙伴们分享的一些中小厂面经做了一下总结,准备面试或者想要跳槽的朋友可以拿来自测一下。
由于问题太多,我这里就不贴参考答案了,需要参考答案的朋友可以可以在文章结尾看到获取的方式哦!
五八同城
- 自我介绍。
- 说一下项目的技术栈。
- 项目中遇到了什么困难?怎么解决的?
- MySQL 和 Redis 怎么保持数据一致?
- RocketMQ 广播消息 丢失消息怎么办?
- 分布式事务了解吗?
- 说一下怎么实现的分布式事务?还有没有其他的解决方案?
- RocketMQ 能做分布式事务吗?
- 并发事务带来了哪些问题?
- 问一下 MySQL 默认隔离级别,可以解决幻读吗?(考察 当前读 快照读 间隙锁 等)
- MySQL 的隔离级别是基于锁实现的吗?
- 多个人给一个主播打赏怎么设计?我说是一个高并发写的操作,对一个记录频繁写,分批操作,比如 10 个记录 操作一次。他说这个方案可以 但是有 100 个记录 怎么去做一个一个操作呢?我说如果在一个进程可以 分多个线程分批。他说还是不够快 我们是用的 MQ 多个消费者 一个打赏就发一个消息
- synchronized 和 volatile 区别?
- synchronized 有了为什么还要 ReentranLock ,有啥不一样?
- 接口和抽象类有什么区别?
- 泛型有啥用?泛型擦除是啥?
总结:整体上 先问项目问项目依赖的中间件,问技术方案怎么设计,比较符合开发场景,MysSQL 间隙锁需要补充一下
最后点评:项目和技术广度很好 但是深度不够,说 MySQL 间隙锁不是很熟悉
上海中通
- 讲一下 ArrayList 和 HashMap 底层数据结构,优缺点,使用方式。
- ConcurrentHashMap有用过吗?
- CAS 设计思路和原理?
- ThreadLocal 底层原理?什么场景使用的 ThreadLocal?
- 用到了 Java 8 的哪些新特性?
- Lambda 怎么用的,Stream 的实现原理?
- 除了刚刚的场景 还有什么场景使用过异步任务,并发任务计算结果后做聚合 么做?
- 网络编程用过吗?IO 讲一下
- 你开发中都用到了什么设计模式?
- 工厂模式的设计理念是什么?有什么好处?体现了什么编程思想?
- 适配器模式了解吗?策略和适配器模式有什么区别,你为什么选择用策略模式而不是适配器原因是什么?
- JVM 调优经验 说一下做了什么?
- Spring 事务注解 Transaction 实现原理?
- A 方法调用 B 方法,如果 B 方法开启事务 则直接用 B 方法的事务,如果是你,你怎么设计怎么做?
- InnoDB 的默认隔离级别,可重复读,解决了什么问题,没有解决什么问题?
- 什么场景下使用了 ES?
- 倒排索引 是什么讲一下?
- 为什么 ES 检索比较快?
- 你使用 MQ(RocketMQ 和 Kafka)的应用场景什么?
- 你说系统单接口 qps 达到了 8W 你做了性能优化,这个是怎么做的?本地缓存用了什么删除策略?本地缓存设置了多大?
- 做了重试保证订单的最终一致性 这个是怎么做的重试?
- MQ 消息积压遇到过吗?你是怎么处理这个?
上海安硕信息
- Dubbo 使用的注册中心和推荐的协议
- Redis 的具体应用
- Spring 的常用注解
- MySQL 的默认数据库引擎
- MySQL 支持哪些存储引擎?默认使用哪个?
- MyISAM 和 InnoDB 的区别是什么?
- 看毕设
上海地听
- 什么是多态?
- JSP 内置对象有哪些?
- 什么是跨域问题?如何解决?
- 一个 Tomcat 上发布两个项目,一个端口 80,一个 81,相互之间调用算不算跨域
- 说说索引和主键的用途。
- MyBatis 中 #{} 和 ${} 的区别?
- 单例模式的实现。
- 链表和队列的特点,查询和增删改的时间复杂度。
- Spring 的常用注解
- @Required 注解的作用
- 如果有一条 SQL 语句执行的很慢,怎么进行优化?
- 存储过程是什么,有什么特点?
南京浩鲸科技
- 常用的数据结构有哪些?
- 数组和链表的区别,以及获取元素的时间复杂度
- 线程池的特点和具体实现,线程的状态,
- notify() 和 notifyall() 的区别
- MySQL 索引的分类
- 什么是视图
- 事务的隔离级别以及解决了哪些问题
- IOC 源码
- Spring 常用注解和作用
- AoP 的具体应用
- Spring 事务
上海华讯
- 接口和抽象类的区别
- 内部类有哪些以及特点和应用
- 数组和链表
- 快速排序算法
- 异常的处理方式
- HashMap 的底层数据结构
- hashcode 的作用,如果 hashcode 相同,怎么存入元素
- 内连接和外连接的区别
- 分组查询的关键字
- 如何开启慢查询日志
- 数据库优化技巧
- 索引的分类
- 主键索引和唯一索引的区别
- Spring 通过注解实现 DI 的原理
- 什么是 RESTful 风格
- Spring 和 Mybatis 整合的步骤
- Mybatis 执行流程
·········· END ··············
小编还给大家准备了一份面试大礼包,需要的小伙伴,点击这里即可。