在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. 银联在线 网关支付 (JAVA版)

    这一版本的编写是在我上一次博客的基础上写的,有不懂得童鞋可以先看下我的原先在线支付的博客,熟悉下:http://blog.csdn.net/yulei_qq/article/details/45197 ...

  2. ROS_Kinetic_10 ROS程序基础Eclipse_C++(一)

    ROS_Kinetic_10 ROS程序基础Eclipse_C++(一) 编写简单的消息发布器和订阅器 (C++) http://wiki.ros.org/cn/ROS/Tutorials/Writi ...

  3. C++在单继承、多继承、虚继承时,构造函数、复制构造函数、赋值操作符、析构函数的执行顺序和执行内容

    一.本文目的与说明 1. 本文目的:理清在各种继承时,构造函数.复制构造函数.赋值操作符.析构函数的执行顺序和执行内容. 2. 说明:虽然复制构造函数属于构造函数的一种,有共同的地方,但是也具有一定的 ...

  4. Dynamics CRM 2011/2013 section的隐藏

            代码如下 Xrm.Page.ui.tabs.get("TabName").sections.get("SectionName").setVisi ...

  5. [TCP] 网络协议流程图

    之前在跟别人讲协议的时候总是找不到类似的图,这次再看python网络编程书籍的时候找到了一个,留存一份. 清晰的看到不同协议在不同层的传输过程!

  6. 敏捷测试(2)--ATDD概念

    什么是验收测试驱动开发 在准备实施一个功能或特性之前,首先团队需要定义出期望的质量标准和验收细则,以明确而且达成共识的验收测试计划(包含一系列测试场景)来驱动开发人员的TDD实践和测试人员的测试脚本开 ...

  7. Linux nohup 命令

    Linux nohup 命令 如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令.该命令可以在你退出帐户之后继续运行相应的进程.nohup就是不挂起的意思(no ...

  8. 识别你的ADFS是什么版本的(Which version of ADFS is running)

    各版本的ADFS版本识别见如下链接: http://jorgequestforknowledge.wordpress.com/2014/02/23/gathering-architectural-de ...

  9. STL常用排序算法介绍

    merge()  以下是排序和通用算法:提供元素排序策略  merge: 合并两个有序序列,存放到另一个序列. #include <iostream> #include <cstdi ...

  10. 生产者消费者的java实现

    先看最简单的,也就是缓冲区的容量为1 缓冲区容量为1 import java.util.List; public class ProducerAndConsumer2 { static class A ...