标签:
想要成为合格的Java程序员或工程师到底需要具备哪些专业技能,面试者在面试之前到底需要准备哪些东西呢?本文陈列的这些内容既可以作为个人简历中的内容,也可以作为面试的时候跟面试官聊的东西,你可以把这些内容写到你的简历中,当然更需要的是你在面试的时候向面试官展示这些专业技能。相信此文对正在寻觅Java程序员(Java工程师)职位的freshman以及希望成为中高级Java开发者的junior都会有所帮助。
说明:上面罗列的这些东西并不是每一项你都要烂熟于心,根据企业招聘的具体要求可以做相应的有针对性的准备。我个人觉得前6项应该是最低要求,是作为一个Java开发者必须要具备的专业技能。
S.A.R法则是指先描述问题的场景,然后解释你采取的行动,最后陈述结果。
举例法:通过举例子发现其中的一般规则。
例子:圆内接三角形是锐角三角形的概率是多少?这是搜狗的一个面试题,可以在圆上随意画三个点连接成三角形就可以知道答案了。
模式匹配法
例子:一个有序数组的元素经过循环移动,元素的顺序变成"3 4 5 6 1 2"。怎样找到数组中最小的那个元素,假设数组中的元素各不相同。这个题目和折半查找看起来是那么相似,因此可以借鉴折半查找的算法,最小元素显然出现在"mid > right"的转折点。
简化推广法
说明:简化问题规模和数据类型,然后再发现通用的解法。
简单构造法
例子:找出"abcde"的所有可能的排列组合。先考虑只有"a"的情况,再考虑"ab"的情况,以此类推。最终你可能会得到一个递归公式。这种方法往往会演变成递归法。
数据结构头脑风暴法
例子:随机生成一些数字,并找出其中位数。这种问题可以在头脑中将你了解的数据结构过一遍,看看哪种是最合适的数据结构。上面的题目可以建立两个堆,一个大根堆和一个小根堆,较小的元素放在大根堆,较大的元素放在小根堆,如果两个堆不平衡,可以从其中一个堆取出元素放入另一个堆即可。最后中位数应该是两个堆的根之一。
标签:
原文地址:http://www.cnblogs.com/RunForLove/p/4442677.html