欢迎来到天天文库
浏览记录
ID:28070712
大小:52.00 KB
页数:6页
时间:2018-12-07
《如果你是java程序猿,这些技能你得懂》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、如果你是Java程序猿,这些技能你得懂!!!如果你已经是一个有几年工作经验的」ava程序猿,希望下面的技能你已经懂得。如果现在还有待提高,希望本文能够给你一些指引。1、基本语法这包括static、final、transient等关键字的作用,foreach循环的原理等等。今天面试我问你static关键字有哪些作用,如果你答出static修饰变量、修饰方法我会认为你合格;答出静态块,我会认为你不错;答出静态内部类,我会认为你很好;答出静态导包,我会对你很满意,因为能看出你非常热衷研究技术。2、集合非常重要,也是必问的内容。基本上就是List、Map、Set,问的是各种实现类的底层
2、实现原理,实现类的优缺点。集合要掌握的是ArrayList、LinkedList、Hashtable、HashMap、ConcurrentHashMap、HashSet的实现原理,能流利作答,当然能掌握CopyOnWrite容器和Queue是再好不过的了。另外多说一句,ConcurrentHashMap的问题在面试中问得特别多,大概是因为这个类可以衍生出非常多的问题,关于ConcurrentHashMap,我给朋友们提供三点回答或者是研究方向:(1)ConcurrentHashMap的锁分段技术(2)ConcurrentHashMap的读是否要加锁,为什么(3)Concurre
3、ntHashMap的迭代器是强一致性的迭代器还是弱一致性的迭代器3、设计模式设计模式在工作中是非常重要、非常有用的,23种设计模式中重点研究常用的十来种就可以了,面试中关于设计模式的问答主要是三个方向:(1)你的项目中用到了哪些设计模式,如何使用(2)知道常用设计模式的优缺点3)能画出常用设计模式的UML图4、多线程这也是必问的一块了。因为三年工作经验,所以基本上不会再问你怎么实现多线程了,会问得深入一些,比如说Thread和Runnable的区别和联系、多次start—个线程会怎么样、线程有哪些状态。当然这只是最基本的,出乎意料地,几次面试几乎都被同时问到了一个问题,问法不尽
4、相同,总结起来是这么一个意思:假如有Threadl、Thread2、Thread3、Thread4四条线程分别统计C、D、E、F四个盘的大小,所有线程都统计完毕交给Thread5线程去做汇总,应当如何实现?聪明的网友们对这个问题是否有答案呢?不难,java.util.concurrent下就有现成的类可以使用另外,线程池也是比较常问的一±夬,常用的线程池有几种?这几种线程池之间有什么区别和联系?线程池的实现原理是怎么样的?实际一些的,会给你一些具体的场景,让你回答这种场景该使用什么样的线程池比较合适。最后,虽然这次面试问得不多,但是多线程同步、锁这块也是重点。synchroni
5、zed和ReentrantLock的区别、synchronized锁普通方法和锁静态方法、死锁的原理及排查方法等等,关于多线程。5、JDK源码要想拿高工资JDK源码不可不读。上面的内容可能还和具体场景联系起来JDK源码就是实打实地看你平时是不是爱钻研了。JDK源码其实没什么好总结的,纯粹看个人,总结一下比较重要的源码:(l)List、Map、Set实现类的源代码2)ReentrantLock、AQS的源代码(3)Atomiclnteger的实现原理,主要能说清楚CAS机制并且Atomiclnteger是如何利用CAS机制实现的(4)线程池的实现原理(5)Object类中的方法以
6、及每个方法的作用6、框架老生常谈,面试必问的东西。一般来说会问你一下你们项目中使用的框架,然后给你一些场景问你用框架怎么做,比如我想要在Spring初始化bean的时候做一些事情该怎么做、想要在bean销毀的时候做一些事情该怎么做、MyBatis中$和#的区别等等,这些都比较实际了,平时积累得好、有多学习框架的使用细节自然都不成问题如果上面你的问题答得好,面试官往往会深入地问一些框架的实现原理。问得最多的就是SpringAOP的实现原理,当然这个很简单啦,两句话就搞定的的事儿,即使你不会准备一下就好了7、数据库数据库十有八九也都会问到。一些基本的像union和unionall的
7、区别、Ieftjoin.几种索引及其区别就不谈了,比较重要的就是数据库性能的优化,如果对于数据库的性能优化一窍不通,那么有时间,还是建议你在面试前花一两天专门把SQL基础和SQL优化的内容准备一下。不过数据库倒是不用担心,一家公司往往有很多部门,如果你对数据库不熟悉而基本技术又非常好,九成都是会要你的,估计会先把你放到对数据库使用不是要求$E常高的部门锻炼一下。8、数据结构和算法分析数据结构和算法分析,对于一名程序员来说,会比不会好而且在工作中绝对能派上用场。数组、链表是基础,栈和队列深入一
此文档下载收益归作者所有