-
线程与进程区别
线程是进程划分成的更⼩的运⾏单位,⼀个进程在其执⾏的过程中可以产⽣多个线程。线程和进程最⼤的不同在于基本上各进程是独⽴的,⽽各线程则不⼀定,因为同⼀进程中的线程极有可能会相互影响。线程执⾏开销⼩,但不利于资源的管理和保护;⽽进程正相反。
-
Spring AOP
-
Spring事务传播机制
-
SpringBoot特点
-
Snychronized关键字
-
事务隔离级别
-
锁
结果:不通过
JD 要求:SpringBoot,MyBatis,Dubbo,MySQL,Redis
-
ES,Kafka 等大数据组件
启发:可以做成分布式调用链场景
-
抽奖系统如何应对高并发场景
启发:进化成秒杀系统去做
-
JUC,线程池种类
结果:不通过
-
数据库隔离级别,默认隔离级别
-
线程池拒绝策略,如何创建线程池,任务队列大小设置
-
JVM 分代策略
-
Synchronized 与 Lock 的区别
-
二叉树的迭代前序遍历写法
-
Synchronized 和 volatile 在原子性,可见性,有序性上的表现
-
详细描述原子性、有序性、可见性,并描述 synchronized 和 volatile 在这以上 3 个性质上的表现
-
CAS 是什么
-
垃圾收集算法有哪些
-
说说 CAP 和 BASE
-
编写一个线程安全的懒汉式单例
HR 问题:
- 最近看什么书,作者是谁,讲一下主要内容,对工作有什么帮助
- 自己做的小程序项目对比同类产品有什么优势
- 目标公司吸引你的因素排序,三个
- 从上家公司的组织架构调整中学到了哪些有用的东西
- 大团队与小团队的优缺点
- 业余时间是怎么花的
结果:技术面通过,HR面不通过
- ThreadLocal 的了解和原理,有什么问题?
- Spring Bean 的生命周期
- Spring 初始化前需要读取数据库配置要如何实现?
- 对 MDC 的了解及使用
结果:不通过
- 设计模式,设计原则
- 观察者模式及实际项目应用
结果:不通过
技术:
描述自己认为最擅长的技术
HR:
建议:自信,别紧张
总结:技术面非常简单,HR 可能觉得不是很合适,技术主管的话语权更重
结果:通过并入职
技术面:简单的面试题,类似网络上收集的那种
结果:通过
笔试:
-
邮箱的正则表达式
-
联表查询 SQL
-
从 场景特点、功能设计、性能优化、链路压测谈谈如何设计、优化一个秒杀系统
-
懒加载模式的双重检测单例代码
-
java collection 集合常见类及其使用场景与特性
-
Spring Boot 10 个常见注解
-
HTTP Method 举例(除了 POST/GET 其他至少 3 种)
-
拆装箱是什么
-
String、StringBuffer、StringBuilder 的区别
技术:
- 多线程使用场景,结合项目描述(日志服务端调用链接收接口做了内存消息队列,如何用多线程去消费数据)
- 介绍印象最深的项目,自己在其中扮演的角色
- 线程池核心参数以及处理流程
- 分页查询语句
- 模糊查询语句
- explain 语句的结果表示什么含义,如何查看索引是否生效
- InnoDB 的索引数据结构是怎样的,它是如何让查询速度更快的
结果:不通过