在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. UNIX环境高级编程——非阻塞设置

    非阻塞I/O使我们可以调用open.read和write这样的I/O操作,并使这些操作不会永远阻塞.如果这种操作不能完成, 则调用立即出错返回,表示该操作如继续执行将阻塞. 对于一个给定的描述符有两种 ...

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

    回到Xcode中,在MainScene.h接口中添加碰撞协议: @interface MainScene : CCNode <CCPhysicsCollisionDelegate> //. ...

  3. Windows7下使用mingw编译openssl

    Windows7下使用mingw编译openssl 首先参考这篇文章安装mingw/minsys: http://blog.csdn.net/ubuntu64fan/article/details/8 ...

  4. 如何获得mysql数据库的所有的列

    命令行下直接用:descrbe 表名 hive也是一样的. 用查询: SELECT  COLUMN_NAME FROM  `information_schema`.`COLUMNS` where  ` ...

  5. 【闲谈】应聘时要问HR的7个问题

    前段时间朋友看了一本书,聊天中告诫了我关于毕业大学生面试时应该问HR的7个问题.这7个问题如下: 我所应聘的这个职位为什么会出现空缺 请问贵公司最成功的员工曾为公司作出了什么样的贡献 如何评估自己在试 ...

  6. (NO.00003)iOS游戏简单的机器人投射游戏成形记(五)

    上一篇我们建立了机器人物理对象,下面我们来看看对应的逻辑代码. 进入Xcode,新建Robot和Arm类,分别继承于CCNode和CCSprite类.代码全部留空,后面再实现. 我们再看一下这个机器人 ...

  7. 【leetcode81】Product of Array Except Self

    题目描述: 给定一个长度为n的整数数组Array[],输出一个等长的数组result[],这个输出数组,对应位置i是除了Array[i]之外,其他的所有元素的乘积 例如: given [1,2,3,4 ...

  8. [问与答]怎样在 Android Stuido中删除一个project

    sof Remove Project from Android Studio 问 第一次用Android Stuido,建立一个项目,却不知道怎么删除? 答 大概有3种方式 方式一 (简单实用) 点击 ...

  9. Android官方网站

     http://wear.techbrood.com/sdk/installing/index.html?pkg=tools

  10. (六十一)Xcode的git版本控制

    打开终端 1.为项目添加git: 首先到达项目的根目录内部,输入git init,初始化一个空的代码仓库(隐藏文件.get). 接下来使用git add . --all .表达把当前目录及子目录中的文 ...