2019.05.26 北京昨天下了一天雨,今天更是很凉爽,下午下楼喂喂野猫出去溜达一圈,回来给网友整理了一些面试题,知识点大概覆盖百分之八十了,不是很具体,也不是很全,最下方有我个人博客里面收录了大部分题目答案,没有的我会慢慢更新。
并发编程: 1.线程基础,线程协作:基础概念,如何启动终止,线程共享,线程协作,fork/join
2.线程并发包:
a.countdownlatch作用,应用场景和实现。
b.CyclicBarrier作用,应用场景和实践。
c.semaphore作用,应用场景or实践。
d.exchange作用,应用场景。
e.Callable Future 和 FutureTask
3.原子操作CAS:原子操作 CAS:CAS原理,原子操作类有哪些,使用场景。
4.显示锁和AQS:显示锁,LockSupport工具,AbstractQueuedSynchronize实现及源码分析
5.并发容器:ConcurrentHashMap,阻塞队列。
6.线程池
a.什么是线程池,为什么要使用线程池。
b.4种实现方式,有什么区别。
c.如何实现一个自己的线程池
d.线程池工作机制
e.Executor框架
f.CompletionService
7.并发:
a.类线程安全问题
b.如何判断类线程安全
c.线程不安全会引发什么问题
e.线程安全单例模式
JVM性能调优: 1.Java内存模型
a.运行时数据区域
b.解析堆栈
c.方法的入栈和出栈
d.堆参数设置,内存溢出实战
2.垃圾回收,内存分配策略
a.如何判断对象存活,有哪些算法。
b.对象之间的引用:强,弱 等四种引用
c.GC算法
d.分代回收
e.垃圾回收器
f.STW的解释
g.JDK有哪些性能调优工具
3.JVM执行子系统
a.类加载机制
b.方法调用详解
23种设计模式
Mysql -
常见的几种存储引擎,Innodb重点了解
-
锁,事务,
-
分库分表设计方法
-
索引的数据结构。
网络 -
TCP,UDP,HTTP
-
JDK的NIO BIO
-
Netty是什么,为什么用Netty。
-
序列化框架
-
Netty源码分析。
架构师高阶知识总结: -
分布式相关:
-
分布式协调和分流,Zookeeper基础
-
Nginx高并发应用,正向代理,反向代理,动静分离,LVS
-
分布式架构中如何解决一致性问题
-
异步与消息中间件
-
消息中间件有哪些,如常见的RabbitMQ,Rocket MQ,Kafka
-
熟悉其中一个,深入研究即可,如Kafka为何吞吐量高。
-
如何解决消息重复和消息丢失
-
缓存和NoSql
-
Redis常用数据结构
-
Redis主从复制策略,持久化策略。
-
哨兵机制
-
如何设计高可用集群
-
如何解决Redis数据倾斜问题,
-
热点数据如何解决
-
淘汰策略
-
高可靠数据存储方法
-
分布式常见场景解决实战
-
分布式事务解决方案
-
单点登录解决方案
-
分布式任务调度
附赠面试题:www.wangzha.tech/tags 我的个人博客。
更快更新请关注我公众号:be_coder
公众号:【转行程序员】专注新人转行入门指导,老兵技术提升,包含各种新手学习资料,架构师技能提升系列文章,欢迎关注。