模拟面试
自我介绍可以优化一下,简洁明了介绍下自己学校背景、技术掌握、项目介绍即可
SpringBoot:自动装配不了解,这个看博客五分钟搞懂
鉴权部分还可以,可以回去复习一下JWT
ES:不了解,还是那句话,简历上有的一定要懂,不然就不要写上去,至少能讲3分钟
网络:整体很不错,拥塞控制也了解过但是不熟悉,其他部分很可以
数据结构:数组ok,hashMap的put过程不熟,这里校招必问,得滚瓜烂熟
SSM:控制反转和aop比较熟;bean生命周期不了解,循环依赖不了解,这里要补充学习
数据库:索引结构掌握不错,聚簇索引和事务也挺熟悉,这里有余力可以进阶MVCC
JVM:不熟悉,这里至少把JVM的构成、堆的构成、常见的垃圾清楚算法了解一个
并发:锁有了解但是不深入;锁升级有了解;线程池:不熟悉(重点提升)
模拟面试2
线程的生命周期,可重入锁的用处,公平锁和不公平锁,共享锁和独占锁,用户态和内核态,线程池,线程计数器,程序计数器,静态内部类,匿名内部类,浅拷贝和深拷贝,事务的属性,僵尸进程,单例模式,线程的上下切换要做哪些工作,拥塞控制,Redis的集群。
1.全知科技
代码的可维护性是怎么体现的
怎么保证系统的稳定性
输入网址找不到页面,要怎么排查问题(有状态码和无状态码)
要在linux系统上杀死父进程,要怎么操作,具体用哪些命令
怎么保证redis和数据库的双写一致性
你设计的系统最大能承受多大的qps,运行时占多大内存
讲一下MySQL的索引
讲一下比赛
HTTPS现在是用的哪个版本
TLS协议是什么
线程安全是什么
Redis的数据类型以及使用场景
超卖问题
2.跃翔科技
一面
1.先做sql笔试题,然后是面试
2.索引失效
3.MySQL优化的问题
4.MySQL的hash索引和B+树索引的区别
5.线程池
6.创建线程的三种方法,runnable和callable的区别
7.Redis双写一致性
8.Redis缓存穿透,缓存击穿,缓存雪崩
9.项目,讲讲登录模块
二面
一开始让我自我介绍,我说我平时喜欢打篮球。他说你研究生是人工智能,本科是什么专业,我说是电子信息,比较偏硬件。然后他说,哦,比较偏硬件是吧。问我有没有java,数据库的课程,我说我是自学的,还问了有没有用过人工智能的开源的程序,我说LSTM。然后面试就结束了。
3.优财云链
1.简历不要写得太宽泛。
2.项目不要讲得太浅了,只是调用接口的话太简单了,要整理一下,讲项目亮点,有什么问题,是怎么解决的。
3.使用MySQL事务的注解是什么。
4.回答问题的时候不要太干了,要有自己的理解。
5.回答问题的时候要有自己的扩展,多讲自己比较熟悉的。
6.锁在项目中用在哪些地方。
7.在做项目的时候为什么选择使用这些技术栈。
8.项目中是如何解决重复下订单,重复支付,超卖的问题的。
9.不能给缓存设置永不过期,还有什么其他的方法。
10.有没有看过spring的源码
11.HTTP和HTTPS的区别
12.讲一下MySQL的事务
13.讲一下多线程。
14.Hashmap的第一次扩容
4.施强教育科技
1.项目,购物车模块的业务,然后购物车的上下游,梳理代码逻辑,集合用在代码的哪个地方,购物车里面的全选和全不选是怎么实现的,敲一遍代码。
2.有没有了解软件行业的后端开发主要是做什么。
2.因为面试官在提问集合用在代码的哪个地方,自己说了自己关注业务,没有注意集合具体用在哪个地方了(因为实际上没敲过代码,所以不知道用在哪个地方了),所以引导面试官问了先讲一下购物车的业务,再讲一下购物车的技术这样的问题。
存在的问题:1.专业不匹配2.项目细节不了解3.回答没有逻辑
5.艾瑞数云
Java基础:基本数据类型的范围。超出范围会怎么样。
MySQL:基本的查询语句。场景题。
项目:问了订单和购物车。说了订单重复支付,说了Redis保存购物车数据。
Rabbit mq:消息丢失,幂等性。
多线程:线程安全。什么情况下需要考虑线程安全。
集合:hashmap是怎么查询的,hashmap的查询复杂度。
设计模式:单例模式的使用场景
注意:只是消息队列掌握的好是不行的,基础知识也要掌握好。
6.来未来熙牛医疗
项目从产品,技术,流程三个方面来讲。
项目中的超卖问题,在MySQL是怎么加锁的,Redis是怎么加锁的。
单点登录问题。在两个地点登录了同一个账号,要怎么办。
消息队列怎么保证投递一致性。
fullGC用的是什么垃圾回收算法。双亲委派机制。
7.滴滴测开
自我介绍
Java项目的登录模块。我登陆了之后,把链接发给了另一个人。另一个人使用这个链接可以登录吗?怎么校验
Redis怎么持久化,双写一致性。
介绍研究生课题。
快速排序。
8.蘑菇街
1.项目的背景是什么(为什么要做这个项目)。
2.在项目中要有自己的思考,对项目中的代码进行改进。
3.MyBatis用到了哪些文件,比如配置文件。
4.向数据库中插入支付信息时的具体的SQL语句是什么。
5.支付模块调用第三方支付平台使用的是什么协议。
6.项目中是怎么用到AOP的
7.mq选型