在IT行业中,大部分公司很难用有效的方式招到合适的人。
直接暴露出来的问题是:
・花重金招了一个人,但实际的战斗力还比不上应届毕业生。
・招聘了一个知名企业的高管,引入了一些高大上的技术,结果本来稳定的生产系统问题频发,大部分时间用来改善架构和管理方法。
・面试时候面面俱到,但实际工作能力却相差甚远。

正是由于大部分公司很难有有效的招聘方式,于是出现了按学历,工作背景,当前薪水等硬性条件来筛选候选人。
但这只能说根据这些条件大概能招到合适的人。还是无法解决一些人混入公司甚至危害公司。

我把程序员分为两种。真程序员和假程序员。
软件开发分为应用和研发。
拿应用来说:
一个新框架,新语言,一门业务,一种管理方法,某项技术的学习达到应用的目的话,真程序员最多一个月即可,假程序员可能半年都未必掌握到精髓。

也就是说真程序员的生产性和假程序员的危害性是我们不可想像的。

所以,整个面试过程应该围绕区分真假程序员来进行。
1.对于见过和没见过的问题和概念性的问题,很容易被假程序员利用并借题发挥,所以面试中应避免问这类问题。
比如:
说一说对某个流行框架的理解。
生产环境遇到过什么问题,是怎么解决的。
有没有遇到过某某问题。
用过某某语言没有。

2.为了研究源码而研究源码,这种人对公司有一定的危害性。
应该避免问如下问题:
研究过什么开源框架,看过那些源代码。
有没有博客,地址是什么。

3.避免问一些非连续的问题。
比如:
HashMap和HashTable有什么区别。
Servlet是否是线程安全的。
JavaScript是如何实现面向对象的。

因为上述问题如果做针对性的准备的话,不需要超过一周的时间即可对答如流,而我所说的假程序员会经常在上班时间关注这些与工作不相干的事情,
甚至利用公司资源去试验新技术。

要知道技术不在新,够用即可,如果对[够用]这两个字的把握不到位的话,那必然是没日没夜地加班干活。

所以,应该针对大小系统都用的共通的技术,问一些连续性的问题,并且针对这些问题多问几个为什么。
因为对[为什么]回答的比较好的人,我认为创造性和兴趣是很好的,IT行业需要的就是这种人。

比如这样展开问题:
1.说一说添删改查的流程。(别笑,系统中大部分的操作都是围绕着这个过程来进行的,包括高并发和大数据。你笑,说明你还不行)
好的回答会用最简单语言描述从浏览器到数据库的全过程。
而对于掌握高大上技术和面试技巧但却不能说出一个简单的添删改查的流程的人来说,直接筛选掉即可。
因为公司的大部分业务都是根据这条线展开的。

2.纵向扩展浏览器到数据库这条线遇到的问题,解决方法,多问一些为什么。
比如:
数据库的连接在哪里管理,为什么要在那里管理。
Service对象是否是单例还是多例,为什么。
单例的话,怎么保证多个请求不共享一个事务。
。。。
从数据库问到浏览器,好的回答会思路清晰。

3.横向扩展浏览器到数据库这条线遇到的问题,解决方法,多问一些为什么。
比如:
遇到多个人更新同一条记录的时候怎么办,如果在集群环境中怎么处理。
数据量增大到一定程度时怎么办,如果在集群环境中怎么处理。
请求数增大到一定程度时怎么办,如果在集群环境中怎么处理。
。。。
从数据库问到浏览器,好的回答会思路清晰。

4.考察解决问题的能力和经验(问所有系统都会遇到的问题)。
比如:
如何定位生产环境中内存溢出的问题,如何解决它,如何避免它。
如何定位生产环境中的性能问题,如何解决它,如何避免它。
。。。
好的回答会思路清晰。

5.软件工程(一定要问,这关系到工作中对团队协作的认识,不解释)
考察软件工程最直接的方式是针对如何控制软件质量,成本来展开的一系列问题。
比如:
说一说你认为如何控制软件的质量。
。。。
好的回答会把软件工程的各个阶段对软件质量有影响的问题,解决方法都说出来,针针见血。

6.业务(一定要问,这关系工作态度和解决问题的能力)
比如:
说一说你目前开发的系统的业务流程。
好的回答会简单,明了。

7.基础
这个不多说,大家都会。尽可能多问为什么,比如为什么要用继承,为什么不用静态方法等。

8.上述问题都回答完毕后基本上可以给面试者打分。
0分,10分,20分,50分,70分,80分,100分等。

非有效的面试只能给面试者打0分或100分,也就是告诉人事行还是不行,具体行到什么程度,哪里最行,哪里最不行都不能提供明确信息。
有效的面试是可以给面试者一个0分到100分之间的分数,对面试者有个综合评价,处在什么位置,优点,缺点,适合什么职位,风险等。

虽然上面的问题都是基础题,但可以筛选出假程序员,并且大致确定真程序员的水平。
剩下的问题可以根据公司需要,问一些实际问题。

版权声明:本教程版权归java123.vip所有,禁止任何形式的转载与引用。

原帖发表于:http://www.cnblogs.com/java123vip/p/9002247.html

Java面试与回答技巧(1.如何正确的面试)的更多相关文章

  1. Java后端面试的一切技巧和常见的问题经验总结

    原文地址:cnblogs.com/JavaArchitect/p/10011253.html 上周,密集面试了若干位Java后端候选人,工作经验在3到5年间.我的标准其实不复杂(适用90%小小小公司, ...

  2. 面试的65个回答技巧-适用于BAT公司

    互联网职业群分享的资料,里面大多是BAT公司的人,很多是猎头.这些技巧对于职场人来说,是非常宝贵的. 1.请你自我介绍一下你自己? 回答提示:一般人回答这个问题过于平常,只说姓名.年龄.爱好.工作经验 ...

  3. 最近面试java后端开发的感受:如果就以平时项目经验来面试,通过估计很难——再论面试前的准备

    在上周,我密集面试了若干位Java后端的候选人,工作经验在3到5年间.我的标准其实不复杂:第一能干活,第二Java基础要好,第三最好熟悉些分布式框架,我相信其它公司招初级开发时,应该也照着这个标准来面 ...

  4. Java面试总结 Boss沟通过:500+,面试:20,已投简历130+

    1 概述 1 介绍 最近换工作,对最近面试的过程进行总结,总结每个公司的面试流程和问到的面试题,记录自己,也供大家参考. 我是一名Java开发,工作经验10年,所以面试一名高级Java开发工程师. 简 ...

  5. Java Web架构知识整理——记一次阿里面试经历

    惭愧,从一次电面说起.我个人在某国企做一名软件设计师,国企大家都懂的,待遇一般而且没啥意思,做的方向基本都是操作系统.驱动和工具软件的开发,语言基本都是C/C++.最近也想跳槽,刚好有幸得到了一次阿里 ...

  6. 剑指Offer——“你最大的缺点是什么”回答技巧及范例

    剑指Offer--"你最大的缺点是什么"回答技巧及范例   问题分析:认识自己的缺点是一个巨大的优点, 当HR问到你缺点的时候, 你的机会来了, 请快展示你的自知之明吧!你想把优点 ...

  7. 两年Java程序员面试经验分享,从简历制作到面试总结!

    前言 工作两年左右,实习一年左右,正式工作一年左右,其实挺尴尬的,高不成低不就.因此在面试许多公司,找到了目前最适合自己的公司之后.于是做一个关于面试的总结.希望能够给那些依旧在找工作的同学提供帮助. ...

  8. OMG,12 个精致的 Java 字符串操作小技巧,学它

    字符串可以说是 Java 中最具有代表性的类了,似乎没有之一哈,这就好像直播界的李佳琪,脱口秀中的李诞,一等一的大哥地位.不得不承认,最近吐槽大会刷多了,脑子里全是那些段子,写文章都有点不由自主,真的 ...

  9. Java 常用类库与技巧【笔记】

    Java 常用类库与技巧[笔记] Java异常体系 Java异常相关知识 Java在其创立的时候就设置了比较有效的处理机制,其异常处理机制主要回答了三个问题:what,where,why what表示 ...

随机推荐

  1. findViewById中NullPointerException的错误

    最近在弄一个对话框的登录时,发现一个总是报NullPointerException的错误,折腾了两小时,一直没有发现细小的区别..先上图,一边说明原因 首先是 Activity类中定义的findVie ...

  2. (NO.00003)iOS游戏简单的机器人投射游戏成形记(十九)

    如果看过前面博文的童鞋可能记得,我们在Level1中是通过写代码实现篮筐的走位.写代码不够直观,需要反复编译测试,有没有其他的方法呢? 答案自然是:大大的有 ;) SpriteBuilder宝贝自身已 ...

  3. Java由先序序列和中序序列还原二叉树

    还原本来的二叉树并不是一个非常简单的事,虽然思想比较简单,但过程却是比较繁琐.下面我拿先序序列和中序序列来讲一下原理吧. 从先序序列中我们一下子就可以得到二叉树的根节点是第一个元素,然后再中序序列中我 ...

  4. Linux的启动流程 (二)

    引:本文以RedHat9.0和i386平台为例,剖析了从用户打开电源直到屏幕出现命令行提示符的整个Linux启动过程.并且介绍了启动中涉及到的各种文件.阅读Linux源代码,无疑是深入学习Linux的 ...

  5. hadoop队列管理(指定queue跑程序)

    hadoop 升级到cdh5后,队列管理被取消,而是统一用资源池分配. hadoop2.0版本,Hadoop采用了平级队列组织方式,,管理员可将用户分到若干个扁平队列中,在每个队列中,可指定一个或几个 ...

  6. PA模块常用表

    SELECT * FROM pa_projects_all; --项目 SELECT * FROM pa_project_types; --项目类型 SELECT * FROM pa_project_ ...

  7. spring mvc接收List集合、JUI传JSP List

    JUI页面是这样的 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 <div class=&quo ...

  8. 《java入门第一季》之好玩的正则表达式

    先不通过正则表达式来判断输入的qq号码是否正确. import java.util.Scanner; /* * 校验qq号码. * 1:要求必须是5-15位数字 * 2:0不能开头 * * 分析: * ...

  9. Aidl跨进程通信机制-android学习之旅(87)

    Aidl简介 AIDL (Android Interface Definition Language) 是一种IDL 语言,用于生成可以在Android设备上两个进程之间进行进程间通信的代码. 如果在 ...

  10. 网络小白之WAN与LAN的区别

    剑指Offer--网络小白之WAN与LAN的区别 基本作用 wan接口是外网接口,是用来连接互联网或局域网等外部网络的. lan接口是内网接口,是用来连接计算机终端或其他路由器等终端设备的. 举例 w ...