java面试官技巧.docx
- 文档编号:14900751
- 上传时间:2023-06-28
- 格式:DOCX
- 页数:12
- 大小:23.29KB
java面试官技巧.docx
《java面试官技巧.docx》由会员分享,可在线阅读,更多相关《java面试官技巧.docx(12页珍藏版)》请在冰点文库上搜索。
java面试官技巧
java面试官技巧
篇一:
面试官技巧+如何做好一个面试官+如何做好面试官之面试
很多高速发展的公司存在一种怪问题。
一方面大家抱怨由于业务高速发展,人手不够。
一方面又因为业务忙而不愿意挤出时间来招人,主官或客观地忽视了招聘工作。
21世纪最贵的是人才。
但如何识别人才,招到优秀的人,不是一件容易的事。
为了提升主管的招聘能力,最近给他们做了一次简单的培训。
于是有了以下的总结。
一,面试的形式
1.尊重面试者是起码的职业操守面试是双向的,是双方了解彼此的过程。
因此首先要摆正自己的位臵,不要给人盛气凌人的感觉。
同时,尊重对方意味着面试前要做好功课。
大致了解一下对方的简历。
千万不要等面试开始了,还不知道对方的姓名,申请的岗位等等。
在面试开始的时候,一定要简单扼要的介绍自己。
这和作为主人,向登门拜访的客人介绍自己是一样的道理。
2.破冰,让面试者尽快进入状态
遇到比较内向或者少言寡语的面试者,例如工程师类型的,要尽快让他们放松。
比如幽默一下,说说今天的天气,新闻等。
这样他们容易进入状态,正常发挥。
这里面有一个误区。
为了让面试者放松,让他们上来就自我介绍。
这个方法有时候会适得其反。
那些没有准备过的人会紧张得不知道从何入手。
3.多听少说,但不失控制权
有不少面试官会在面试中不停的发问。
这种方式看似十分主动,但其实不一定能从面试者身上得到有效的信息。
如果在整个面试过程中,面试官说的比面试者还多,到底是谁在面试谁呢?
比较最有效的方法是让面试者自己多讲,面试官一边倾听,一边根据提问,引导并控制面试者的话题。
4.留点时间Q&A
无论这个时候你是否已经做出了录用或不录用的决定,都要给面试者一个提问的机会,而且要认真应答。
前面说过,面试是双向的。
如果你希望面试者能接受这个机会,那么这就是你说服他们的时候了。
或者说,这时候是他们在面试你了。
不要因为这个过程中的失误而失去你所要的人。
即使你决定不录取面试者,你仍然要完成这最后一关。
因为虽然你不录取他们,但你希望他们能对你和公司留下好印象,也许可以帮你推荐更多的人,也许他们改进了以后还会回来。
千万不要低估他们的口碑对公司造成的损害。
二,面试中的忌讳
1.不要被忽悠了
简历是死的,不一定能反映出面试者当下的情况。
比如简历上写的是名校毕业的,又有知名企业的工作背景。
但这些都是过去,不能说明面试者现在的水平。
简历往往有水分,或者描述不精确的地方。
比如简历上写的是精通Java语言。
到底精通到什么程度,只有通过面试才能大致了解。
简历上越是把自己写得优秀的地方,越要去挑战一下。
又有知名企业的工作背景。
但这些都是过去,不能说明面试者现在的水平。
简历往往有水分,或者描述不精确的地方。
比如简历上写的是精通Java语言。
到底精通到什么程度,只有通过面试才能大致了解。
简历上越是把自己写得优秀的地方,越要去挑战一下。
2.不要对面试者有任何假设
不要对面试者有任何假设,包括简历上的信息。
唯一的假设就是对方不合格。
因此在面试个过程中要想法设法找出面试者的问题,给最终的决定提供有效的判断依据。
有些面试官看到对方有多年经验,就假设他们在某个方面是合格的,在心理上已经开始放水。
还有面试官看到对方在某些问题上口若悬河,吐沫横飞,就假设对方有经验,有水平,而主动放弃
了追问细节的机会。
录用以后才发现此人空有理论,没有动手能力。
会说不会做。
录取一个不合格的人,不仅是对公司不负责,也是对面试者不负责。
3.不要把决定留给下一个人
通常,一个面试者要经过N道面试。
最终的结果往往要大家讨论,或者领导拍板。
于是,有些面试官认为自己是开始的关卡,并不重要。
反正决定权在后面。
有了这种心理,会很大程度上影响面试的效果。
本来自己可以搞清楚的问题,却把责任推给了后面的人。
或者有意问一些简单的问题,把难题留给后人。
其实,无论最终是大家讨论,还是领导拍板,每个面试官的论点和论据都很重要。
否则要为什么你去面试?
4.不要诱导
我们会通常问一些开放式的问题,希望给面试者一个发挥的空间。
但提出问题的方法如果弄得不好,就变成了具有诱导性的问题,引导甚至迫使面试者朝面试官想听的方向回答。
例如,“你是怎样看待团队合作的?
”。
绝大多数面试者回答时,都会试图讲述团队合作的好处,因为这是面试官想听的。
像这样的问题,答案虽然多种多样,但很难从中得到有效信息。
应对如流的人很可能事先准备过,但实际工作中不一定能做到。
而那些回答得不太好的人,说不定做得挺好,只是在这么短的时间内总结不出来,表达不清楚而已。
因此面试官在准备问题时,一定要从面试者的角度去考虑一下,看看他们有什么样的选择。
如果面试者没有选择,这样的问题问了也是白问。
5.不要答案,要过程
所谓面试,自然要出一些题目考考面试者。
特别是技术类型的面试,出些试题是很必要的。
但是,我们要关注的不是面试者的答案,而是他们怎样获得答案。
大家熟悉的微软,谷歌等公司面试时的开放式问题,其实就是这个目的,观察面试者如何解题。
面试官一定要清楚地知道,哪些答案是死的知识点,哪些答案是活的解决方法。
知识点暂时不知道没有关系,是可以通过学习得到的。
而方法则不是那么容易学得到的。
6.不要放弃细节,细节决定一切
最后一点也是最重要的一点,刨根问底的精神。
无论简历,还是面试时的介绍,都是面试者事先准备过,总结过的。
这些是他们的穿戴打扮。
要想看清本质,唯一的办法就是让他们脱掉外面的衣服,充分展示里面的肌肉。
面试官一定要注意,追问细节的目的不是拷问对方,寻找满意的答案,而是试图了解面试者对某方面的理解是否源于自己的真实经历,某些说法是否可信等等。
举个,有不少面试者说自己的优点是学习能力强。
然而当具体问到他们最近读了什么书,看了什么博客,或者在项目中学到了什么东西时,却支支吾吾,说不清楚。
三选择什么类型的人
我们招聘的方法,技巧再好,如果不清楚要什么样的人,也是白搭。
这里列举一些我们认为应该选择的人和应该放弃的人。
虽然不同公司招聘不同类型的人,但以下几点恐怕具有普遍性。
1.有亮点好过万金油选择:
虽然有很多地方不如他人,但在某些点上有过人之处,哪怕只有一点。
如果此人在某点上可以比他人做得更好,更透,说明此人有自己独特的方法或见解,在其它事情上同样可以做的更好,更透。
面试官的目的就是要去发现这个闪光的亮点。
放弃:
什么都懂一点,但什么都不精通。
2.缺点与信心并存
选择:
承认并了解自己的缺点,但充满信心。
放弃:
自信心过度膨胀,认为自己没有缺点;或者过度缺乏自信,在面试过程中找不出自己的优势。
3.知己知彼
当面试有工作经验的人时,他们选择换跳槽的目的很重要。
选择:
对面试的公司有一定的了解,对自己的职业规划也很清晰,而且二者的需求吻合。
放弃:
对原公司极度不满,把原公司说得一无是处;对面试的公司完全不了解;工作时间久了,为了换一个环境。
这三种人一定不要选择。
4.潜力股
选择:
能够明显地看出他在过去的工作中学到了很多东西,能力得到了很大提升。
善于从工作中学习的人有很大的潜力。
放弃:
虽然有一定能力和经验,但已经很久没有进步了。
这种人在环境比较好的外企和国企比较多。
由于环境舒适,便安于现状,逐渐失去了进取精神和学习动力。
他们虽然有能力,但潜力不大了。
最好还是留在原地不动。
一动反而会出问题。
有所选择的放弃是智者的放弃;
有所放弃的选择是勇者的选择!
如何做好一个面试官
有三个方面的把握至关重要,一是面试官要做好面试前的准备工作;二是面试过程中的提问和倾听的技巧,也就是如何熟练运用面试方法。
三是判断的标准把握。
(一)做好面试前的准备工作。
首先明确面试的目的:
选择人才、吸引人才、收集有关求职者能做什么的信息、收集有关求职者愿意做什么的信息、向求职者提供组织的相关信息、检查求职者对应聘职位的匹配程度。
因此面试官不仅仅是在面试应聘者,应聘者也在一次面试中通过面试官了解企业,面试官在面试过程中的表现也至关重要。
其次了解招聘岗位的胜任能力要求(通常包括知识、技能、经验等因素)、绩效期望,为满足岗位的要求,求职者会在未来的工作中遇到怎么样的障碍和挑战?
要克服这些障碍和挑战,应聘者必须要具备的能力和素质是什么?
通过这一系列的问题设计中,我们会对要招聘的这个职位了解得更多,对求职者的技能要求也会有更深入的认识和了解,才能更好的设计面试问题,更有效率、更具针对性的进行面试提问。
只有清晰招聘岗位的要求,在提问过程中才能有的放矢,判断标准才能相应明确。
再就是提前阅读简历,为保证面试的有效进行,面试官应提前进行应聘者的简历阅读,以更充分了解求职者的信息,对简历中的疑点进行相应的标识:
比如应聘者工作衔接出现空挡的原因、频繁转换工作、最近的培训进修情况、离开上一家公司的真正原因、在上一家公司的工作绩效等。
最后是面试官要熟练掌握面试方法和技巧,面试官应根据应聘者的应聘岗位的不同,进而选择恰当而有效的面试方法。
如果面试官可以,适当列出提问的问题,问题最好覆盖到本岗位的核心胜任力(设计的面试提问的问题应符合STAR原则,既:
S:
Situation当时的环境;T:
Tak任务;A:
Action行动;R:
Reult最终的结果
如何做好面试官之面试
面试的目的是为了认识和了解求职者的素质、能力和经验与岗位的要求是否匹配,以及求职者对这份工作的态度。
面试官所做的就是从求职者的各种陈述和行为中鉴别求职者的真实表现。
面试官如何提问和如何倾听甄别就至关重要了。
在面试中,面试官的提问要满足STAR原则,即每个问题都要涵盖情形(SITUATION)、
任务(TASK)、行动(ACTION)和结果(RESULT)。
例如,我们首先要了解应聘者是在一个什么样的情形或者说什么样的背景下(SITUATION)之下去做的工作。
接着,我们要了解应聘者为了完成工作,上司赋予了哪些工作任务(TASK)。
接下来,我们要了解应聘者为了完成这些任务采取了哪些行动(ACTION)。
最后,我们才来关注结果(RESULT)是怎样的,上级以及相关人员对结果的评价如何。
在这个过程中,面试官要综合并熟练运用各种面试方法,以达到甄别的目的。
情景模拟法:
情景模拟可以使我们直观地看到应聘者在将来要面对的环境中的表现。
作为面试过程中的一个部分,情景模拟可以在以下情况下提供行为类信息:
有的素质仅靠一般面试无法准确评估。
有的关键素质需要更多的信息。
压力面试:
压力面试(treinterview)是指有意制造紧张,以了解求职者将如何面对工作压力。
面试人通过提出生硬的、不礼貌的问题故意使候选人感到不舒服,针对某一事项或问题做一连串的发问,打破沙锅问到底,直至无法回答。
其目的是确定求职者对压力的承受能力、在压力前的应变能力和人际关系能力。
压力面试通常用于对谋求要承受较高心理压力的岗位的人员的测试。
篇二:
java程序员面试时经常被问到的10个问题
java程序员面试时经常被问到的10个问题
java程序员,尤其是做web开发的,面试时,面试官最喜欢问到以下10个问题,掌握面试的动态和技巧,有利于提高我们面试的成功率,了解以下10个问题,有利于java程序员的面试。
1、简单描述一下Log4J?
2、简单描述JavaBean的特点?
3、Hibernate在MVC模式中处于哪里?
且它主要完成什么工作?
4、列举Hibernate中常见的几种主键产生方法,并做简要说明?
5、简单说说HQL与SQL的异同,试着写个例子?
6、Hibernate运行时需要获取一些底层实现的基本信息,其中几个关键属性包括哪些?
7、利用Hibernate操作数据库,主要有哪几个步骤?
8、Hibernate中调用Seion.fluh()的目的是什么,什么时候调用,什么时候不用调用?
9、简单描述SeionFactory与Seon;
10、描述一下Hibernate,MySQL,Oracle分别用什么方法来实现查询制定条记录
如{从检索结果中获取第某条记录开始的y条记录}(简单分页)?
篇三:
java常见面试题及回答技巧
1.Java中leep和wait的区别
①这两个方法来自不同的类分别是,leep来自Thread类,和wait来自Object类。
leep是Thread的静态类方法,谁调用的谁去睡觉,即使在a线程里调用b的leep方法,实际上还是a去睡觉,要让b线程睡觉要在b的代码中调用leep。
②锁:
最主要是leep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。
leep不出让系统资源;wait是进入线程等待池等待,出让系统资源,其他线程可以占用CPU。
一般wait不会加时间限制,因为如果wait线程的运行资源不够,再出来也没用,要等待其他线程调用notify/notifyAll唤醒等待池中的所有线程,才会进入就绪队列等待OS分配系统资源。
leep(milliecond)可以用时间指定使它自动唤醒过来,如果时间不到只能调用interrupt()强行打断。
Thread.leep(0)的作用是“触发操作系统立刻重新进行一次CPU竞争”。
③使用范围:
wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而leep可以在任何地方使用。
ynchronized(某){
某.notify()
//或者wait()
}
2.Java中HahMap和HahTable的区别
①历史原因:
Hahtable是给予陈旧的Dictonary类的,HahMap是Java1.2引进的Map接口的一个实现
②HahMap允许空的键值对,而HahTable不允许
③HahTable同步,而HahMap非同步,效率上比HahTable要高
3.请简述在异常当中,throw和throw有什么区别
①throw代表动作,表示抛出一个异常的动作;throw代表一种状态,代表方法可能有异常抛出
②throw用在方法实现中,而throw用在方法声明中
③throw只能用于抛出一种异常,而throw可以抛出多个异常
4.内存溢出和内存泄露的区别
内存溢出outofmemory,是指程序在申请内存时,没有足够的内存空间供其使用,出现outofmemory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。
内存泄露memoryleak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。
memoryleak会最终会导致outofmemory!
内存溢出就是你要求分配的内存超出了系统能给你的,系统不能满足需求,于是产生溢出。
内存泄漏是指你向系统申请分配内存进行使用(new),可是使用完了以后却不归还(delete),结果你申请到的那块内存你自己也不能再访问(也许你把它的地址给弄丢了),而系统也不能再次将它分配给需要的程序。
一个盘子用尽各种方法只能装4个果子,你装了5个,结果掉倒地上不能吃了。
这就是溢出!
比方说栈,栈满时再做进栈必定产生空间溢出,叫上溢,栈空时再做退栈也产生空间溢出,称为下溢。
就是分配的内存不足以放下数据项序列,称为内存溢出。
以发生的方式来分类,内存泄漏可以分为4类:
①常发性内存泄漏。
发生内存泄漏的代码会被多次执行到,每次被执行的时候都会导致一块内存泄漏。
②偶发性内存泄漏。
发生内存泄漏的代码只有在某些特定环境或操作过程下才会发生。
常发性和偶发性是相对的。
对于特定的环境,偶发性的也许就变成了常发性的。
所以测试环境和测试方法对检测内存泄漏至关重要。
③一次性内存泄漏。
发生内存泄漏的代码只会被执行一次,或者由于算法上的缺陷,导致总会有一块仅且一块内存发生泄漏。
比如,在类的构造函数中分配内存,在析构函数中却没有释放该内存,所以内存泄漏只会发生一次。
④隐式内存泄漏。
程序在运行过程中不停的分配内存,但是直到结束的时候才释放内存。
严格的说这里并没有发生内存泄漏,因为最终程序释放了所有申请的内存。
但是对于一个服务器程序,需要运行几天,几周甚至几个月,不及时释放内存也可能导致最终耗尽系统的所
有内存。
所以,我们称这类内存泄漏为隐式内存泄漏。
从用户使用程序的角度来看,内存泄漏本身不会产生什么危害,作为一般的用户,根本感觉不到内存泄漏的存在。
真正有危害的是内存泄漏的堆积,这会最终消耗尽系统所有的内存。
从这个角度来说,一次性内存泄漏并没有什么危害,因为它不会堆积,而隐式内存泄漏危害性则非常大,因为较之于常发性和偶发性内存泄漏它更难被检测到。
5.String,StringBuffer和StringBuilder的区别
①可变与不可变
String类中使用字符数组保存字符串,如下就是,因为有“final”修饰符,所以可以知道tring对象是不可变的。
privatefinalcharvalue[];
StringBuilder与StringBuffer都继承自AbtractStringBuilder类,在
AbtractStringBuilder中也是使用字符数组保存字符串,如下就是,可知这两种对象都是可变的。
char[]value;
②是否多线程安全
String中的对象是不可变的,也就可以理解为常量,显然线程安全。
AbtractStringBuilder是StringBuilder与StringBuffer的公共父类,定义了一些字符串的基本操作,如e某pandCapacity、append、inert、inde某Of等公共方法。
StringBuffer对方法加了同步锁或者对调用的方法加了同步锁,所以是线程安全的。
看如下源码:
[java]
1.
2.
3.
4.
5.
6.
7.viewplaincopy8.1publicynchronizedStringBufferrevere(){2uper.revere();3returnthi;4}56publicintinde某Of(Stringtr){7returninde某Of(tr,0);//存在publicynchronizedintinde某Of(Stringtr,intfromInde某)方法8}
StringBuilder并没有对方法进行加同步锁,所以是非线程安全的。
③StringBuilder与StringBuffer共同点
StringBuilder与StringBuffer有公共父类AbtractStringBuilder(抽象类)。
抽象类与接口的其中一个区别是:
抽象类中可以定义一些子类的公共方法,子类只需要增加新的功能,不需要重复写已经存在的方法;而接口中只是对方法的申明和常量的定义。
StringBuilder、StringBuffer的方法都会调用AbtractStringBuilder中的公共方法,如uper.append(...)。
只是StringBuffer会在方法上加ynchronized关键字,进行同步。
最后,如果程序不是多线程的,那么使用StringBuilder效率高于StringBuffer。
6.数组和链表的区别
二者都属于一种数据结构
从逻辑结构来看:
①数组必须事先定义固定的长度(元素个数),不能适应数据动态地增减的情况。
当数据增加时,可能超出原先定义的元素个数;当数据减少时,造成内存浪费;数组可以根据下标直接存取。
②链表动态地进行存储分配,可以适应数据动态地增减的情况,且可以方便地插入、删除数据项。
(数组中插入、删除数据项时,需要移动其它数据项,非常繁琐)链表必须根据ne某t指针找到下一个元素。
从内存存储来看:
①(静态)数组从栈中分配空间,对于程序员方便快速,但是自由度小。
②链表从堆中分配空间,自由度大但是申请管理比较麻烦。
从上面的比较可以看出,如果需要快速访问数据,很少或不插入和删除元素,就应该用数组;相反,如果需要经常插入和删除元素就需要用链表数据结构了。
7.ArrayLit和LinkedLit的区别
①ArrayLit是实现了基于动态数组的数据结构,LinkedLit基于链表的数据结构。
②对于随机访问get和et,ArrayLit觉得优于LinkedLit,因为LinkedLit要移动指针。
③对于新增和删除操作add和remove,LinedLit比较占优势,因为ArrayLit要移动数据。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 面试 技巧
![提示](https://static.bingdoc.com/images/bang_tan.gif)