一,Java线程池的构造方法,里面参数的含义,以及原理:。
1,volatile和ThreadLocal解决了什么问题。
2,CAS在Java中的具体实现。
3,Java虚拟机的构成,以及一个Java对象的生命周期,还有堆栈和方法区中存储的内容。
4,JVM的GC过程,包括一些实际问题的分析,比如说明一个现象,让你分析可能是什么原因会导致这样的问题,应该如何对JVM参数进行调优。
5,synchronized和Lock的区别,以及底层实现原理。
6,FullGC和MinorGC触发的条件。
7,GCRoots的选择。
8,jmap,jstat,jstack等的使用场景,MAT等。
9,ClassLoader的加载过程。
10,CountDownLatch,CyclicBarrier和Semaphore等。
11,Java8的新特性等。
二,数据库:这里的数据库包含两种,一种一般是MySQL,另外是NoSql数据库,包括Redis,MongoDB等,一般会问的问题有:。
1,innerjoin和leftjoin等的区别。
2,SQL调优,explain,profile等。
3,InnoDB和Myisam的区别。
4,ACID。
5,数据库的事务隔离级别,以及他们分别能解决什么问题。
6,Redis的几种数据结构。
7,Redis是单线程还是多线程。
8,Redis的持久化。
9,悲观锁和乐观锁的含义。
10最左前缀索引,索引的数据结构,聚簇索引等(这块还没搞明白)。
三,框架。
因为spring是我们常用的框架,所以这块的内容会问的比较多,也会比较细。
1,Spring的两大特性(IoC和AOP)。
2,Spring的bean的生命周期。
3,Spring是如何解决Bean的循环引用问题的。
4,AOP的两种实现方式,以及两者的区别(这里其实使用了动态代理,具体动态代理分为两种,一种是JDK的动态代理,主要使用的是JDK的反射,还有一种是CGLib,两者区别可以自己搜索,文章比较多)。
5,AOP一般的使用场景。
6,Spring的事务原理。
首先我认为想去培训的人和不想去培训的人有两个心态,想去培训的人是决心要学的,不想去培训的人大部分都是浑水摸鱼的,所以放弃的概率是很高的,我的意思是说,学习编程最好是有老师的,当然有些人经济比较差,害怕最后学费打水漂,其实只要选好学校一心学习,迟早可以学会的,而且现在的学校有很多先就业和付款的,几大了帮助了条件不好的学生,所以小编建议学习Java开发选择一个培训班,不过在学习中需要注意以下几点:。
1.开始养成良好代码习惯。
2.先自己多思考,然后再去问老师,培养自己解决问题能力。
3.大量时间用来写代码,而不是看视频。
4.书籍用来回顾知识点,而不要用来一页一页翻书。
5.多看书,多动手是最重要的,实践出真理还是很正确的。
评论(0)