如何面试几小时
面向持久
level
5年以上互联网工作经验 约等于 接受30岁
面试带出技术点+应用场景 —— 真的有若干年工作经验
设计模式,多线程
为什么要学?
设计模式,除了做CRUD,随着工作一两年后看大牛代码和开源框架,公司项目进行重构——举个例子,重构线性代码,SPI,设计模式,spring容器
多线程
java的线程是操作系统的什么?轻量级进程,进程是隔离级别最高的,两个进程之间不能说话。进程生成线程,共享一些内存,栈是隔离的。线程:容器,放一个runnable
A:run()
while{
}
准备一个队列,队列里都是Runnable,Runnable,队列里放对象,对象有Run方法
loop
juc: sync,cas,lock aqs syncronized 关键字
sync (cas->系统调用),操作系统阻塞状态,多线程的场景极多
(等其他线程应该怎么办 yield) 场景
IO
技术栈:Spring Mybatis Mysql Redis ES Kafka RPC
Web工程师:spring生态(必会) 分布式中间件(明显拉开距离)
架构 微服务,微服务向架构方向进展
数据结构/算法基础扎实 —— 算法 上机,笔试
JVM调优,mysql调优