- 剑指offer
- java基础知识:
1.1常用api;
1.2 java数据结构:ArrayList扩容,HashMap结构,Hashset/Hashtable原理,Collection.sort用法,BlockingQueue用法,单链表结构,红黑树;
1.3算法:单链表反转,排序算法。
- java高级知识:
1.1 JVM相关:JVM如何进行gc,JVM调优,垃圾回收算法,JVM内存模型,类加载机制,内存泄漏,内存溢出;
1.2jdk提供的命令;
1.3设计模式。
- 多线程相关:
多线程实现方式,对synchronized的理解,ConcurrentHashmap的结构和实现原理,ThreadPoolExcuter原理,volitale关键字;
- Spring框架相关:
IOC和AOP,动态代理,Spring拦截机制。
- 数据库相关:
5.1索引原理,mysql的最左匹配原则;
5.2如何做读写分离,分库方法(ThreadLocal用法);
5.3事务相关:事务的4个隔离级别,mysql默认的隔离级别,数据库锁(悲观锁,乐观锁),死锁的条件,事务注解的用法,OCID理解(原子性,有序性,可见性,幂等性)。
5.4 mysql调优。
- 开源框架:
6.1数据存储:memcache,redis利弊,redis锁,redis的aof和rdb落盘方式,redis集群部署,一致性哈希算法,Mongo数据库;
6.2RokectMq(MQ消息丢失,MQ怎样监听,RoketMq高可用部署 );
6.3 Dubbo服务(dubbo和HTTP的优劣),dubbo服务的调用过程;
6.4Elasticjob(架构/流程图,执行过程,选举算法 ),其他作业调度框架(结合项目中用的调度方式),
6.5mybatis用法;
6.6关心的新技术有哪些。
- 常用linux高端命令:
top,netstat等。
- WEB服务器:
tomcat用法,如何排除tomca无响应故障,apache,nginx,docker了解一下,nginx和lvs的区别。
- 网络编程方面:
常见的网络超时(CLOSE_WAIT,TIME_WAIT),如何避免重试的问题,http的cookie机制,CDN原理。
其他问题:
-
在项目中遇到的最大的问题是什么?怎样解决的?
-
从项目中学到了什么?