作家
登录

3年工作经验的java程序员应该具备的技能

作者: 来源: 2018-03-13 09:35:07 阅读 我要评论

(5)happens-before规矩

沙龙晃荡 | 3月31日 京东、微博拭魅战专家与你合营商量容器技巧实践!


1、根本语法

这包含static、final、transient等关键字的感化,foreach轮回的道理等等。今天面试我问你static关键字有哪些作 用,如不雅你答出static润饰变量、润饰办法我会认为你合格,答出静态块,我会认为你不错,答出静态内部类我会认为你很好,答出静态导包我会对你很满 意,因为能看出你异常热衷研究技巧。

最深刻的一次,我记得面试官直接问到了我Volatile关 键字的底层实现道理(趁便插一句,面试和被面试本身就是相对的,面试官能问这个问题同时也让面试者感到到面试官也是一个爱好研究技巧的人,增长了面试者对 公司的好感,我最终选择的就是问了这个问题的公司),不要认为这太吹毛求疵了—-越简单的问题越能看出一小我的程度,别人对你技巧的考量绝大年夜多半都是以深度优先、广度次之为标准的,切记。

异常重要,也是必问的内容。根本上就是List、Map、Set,问的是各类实现类的底层实现道理,实现类的优缺点。

集合要控制的是ArrayList、LinkedList、Hashtable、HashMap、ConcurrentHashMap、 HashSet的实现道理,能流畅作答,当然能控制CopyOnWrite容器和Queue是再好不过的了。别的多说一 句,ConcurrentHashMap的问题在面试中问得特别多,大年夜概是因为这个类可以衍生出异常多的问题,关于ConcurrentHashMap, 我给网友同慌绫乔供给三点答复或者是研究偏向:

(2)ConcurrentHashMap的读是否要加锁,为什么。

3、框架

老生常谈,面试必问的器械。一般来说会问你一下你们项目中应用的框架,然后给你一些场景问你用框架怎么做,比如我想要在Spring初始化bean 的时刻做一些工作该怎么做、想要在bean烧毁的时刻做一些工作该怎么做、MyBatis中$和#的差别等等,这些都比较实际了,日常平凡积聚得好、有多进修 框架的应用细节天然都不盘考题。

如不雅膳绫擎你的问题答得好,面试官往往会深刻地问一些框架的实现道理。问得最多的就是Spring AOP的实现道理,当然这个很简单啦,两句话就搞定的的事儿,即使你不会预备一下就好了。我碰到的最掉常的是让我画一下Spring的Bean工厂实 现的UML图,当然面对如许一个有深度的问题,我是绝对答不出来的/(ㄒoㄒ)/~~

4、数据库

数据库十有八九也都邑问到。一些根本的像和 all的差别、left join、几种索引及其差别就不谈了,比较重要的就是数据库机能的优化,如不雅对于数据库的机能优化一窍不通,那么竽暌剐时光,照样建议你在面试前花一两天专门 把SQL基本和SQL优化的内容预备一下。

不过数据库倒是不消担心,一家公司往往有很多部分,如不雅你对数据库不熟悉而根本技巧又异常好,九成都是会要你的,估计会先把你放到对数据库应用不是请求异常高的部分锤炼一下。

5、Web方面的一些问题

Java重要面向Web端,是以Web的一些问题也是必问的。

我碰着干预干咏馐皖多的两个问题是:

谈谈分布式Session的几种实现方法。

别的一个常问的问题是:讲一下Session和Cookie的差别和接洽以及Session的实现道理。这两个问题之外,web.xml琅绫擎的内容是重点,Filter、Servlet、Listener,不说对它们的实现道理一清二跋扈吧,至少能对它们的应用知根知底。别的,一些细节的方面比如get/post的差别、forward/重定向的差别、HTTPS的实现道理也都可能会被考察到。

一名3年工作经验的java法度榜样员应当具备的技能

6、数据构造和算法分析

数据构造和算法分析,对于一名法度榜样员来说,会比不会好并且在工作中绝对能派上用处。数组、链表是基本,栈和队列深刻一些但也不难,树挺重要的,比较 重要的树AVL树、红黑树,可以不懂得它们的具体实现,然则要知道什么是二叉查找树、什么是均衡树,AVL树和红黑树的差别。记得某次面试,某个面试官和 我聊到了数据库的索引,他问我:你知道索引应用的是哪种数据构造实现吗?

我答到用的Hash表吧,答错。他又问,你知道为什么要应用树吗?我答到因为Hash表可能会出现比较多的冲突,在切切甚至是上亿级其余数据面 前,会大年夜大年夜增长查找的时光复杂度。而树比较稳定,根本包管最多二三十次就能找到想要的数据,对方说不完全对,最后我们照样交换了一下这个问题,我也明白了 为什么要应用树,这里不说,网友同慌绫乔认为索引为什么要应用树来实现呢?

至于算法分析,不会、不想研究就算了,记得某次面试对方问我,Collections.sort办法应用的是哪种排序办法,额,吐血三升。当然为了 显示我的博学,对算法分析也有必定的研究(⊙﹏⊙)b,我照样硬着头皮说了一句可能是冒泡排序吧。当然谜底肯定不是,有兴趣的网友同慌绫乔可以去看一下 Collections.sort办法的源代码,用的是一种叫做TimSort的排序法,也就是加强型的归并排序法。

2、集合

7、Java虚拟机

出乎我的料想,Java虚拟机应当是很重要的一块内容,结不雅在这几家公司中被问到的概率几乎为0。要知道,我客岁可是花了大年夜量的时光去研究Java虚拟机的,光周志明师长教师的《深刻懂得Java虚拟机:JVM高等特点与最佳实践》,我就读了不下五遍。

言归正传,固然Java虚拟机没问到,但我认为照样有须要研究的,我就R单地列一个提纲吧,谈谈Java虚拟机中比较重要的内容:

(1)Java虚拟机的内存构造

(2)GC算法及几种垃收受接收集器

(3)类加载机制,也就是双亲委派模型

一名3年工作经验的Java法度榜样员应当具备的技能,这可能是Java法度榜样员们比较关怀的内容。我这里要解释一下,以下列举的内容不是都要会的器械—-然则如不雅你控制得越多,最终能获得的评价、拿到的薪水势必也越高。

(4)Java内存模型

(6)volatile关键字应用规矩


  推荐阅读

  转型技术管理后,应该避踩哪些坑?

身为技恋人员,碰到问题我们一般都邑思虑一般规律,以办法论来解决。在我看来,转型治理其实也是有必定之规的。个中不少与性格和才能都没有关系,而是若干习惯和思维方法的改变。所以,下面我测验测验总结初入治理岗>>>详细阅读


本文标题:3年工作经验的java程序员应该具备的技能

地址:http://www.17bianji.com/lsqh/40644.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)