JavaEE面试注意事项

来源:互联网 发布:设计方案优化措施 编辑:程序博客网 时间:2024/06/16 18:58

JavaEE开发可以说一直是业界需求量较大的工作。现在的企业招聘JavaEE开发人员都会优先考虑面试者实际的项目开发经验。下面就谈谈JavaEE面试的注意事项。

面试失败的常见原因:

  1. 回答不出问题:
    技术问题面试不是技术竞赛,不是比较看谁答对的问题多。大部分是考查面试者回答问题时候的表达能力和描述逻辑能力。Java的技术非常多,我们不可能清楚记得所有的知识点,但是有一些“必须知道”的核心Java和Web基础知识,你是一定要清楚回答出来的。
    如:“==”和equals()之间的区别。
    OO的概念和设计原则。
    如何在HTTP客户端与服务器端之间保持状态。
    常用的五大框架问题。
    sql数据库等等。

  2. 既写不好简单的代码,又回答不出如何解决棘手的问题.
    面试的时候每个人都会紧张,一紧张就容易大脑空白。导致面试者不能回答好面试官提出的问题。这时候我们应该让自己冷静下来,分析好问题,想出解决问题的思路。
    作为一个开发人员,你应该根据自己的经验水平,来针对给定的问题和情况编写代码。特别是如果碰到一个比较棘手的问题,那么即使你还没有解决方案,也应该将你的思路讲给面试官听。当然这在面试时会让人特别紧张,尤其是在还有时间限制的情况下,但是你也必须保持冷静,至少应该说明你将如何试着去解决问题的方法。
    思路很重要,思路很重要,思路很重要。
    有了思路,就有了解决问题的方案。只要我们保持冷静就能分析得出思路。有了思路,代码实现就难不倒你了。

  3. 说得太少
    面试是一个双向的过程,面试官向你提问的时候,你同时也在观察着面试官。当面试官问问题的时候,尤其是那些开放式的问题,如“请介绍下你自己”或“请讲一下你曾经解决过的复杂问题”。面试官会通过你对这些技术和非技术问题的回答来评估你的激情。他们也会通过模拟团队氛围和与你的交流互动来判断你的经验和能力。
    所以,仅仅只用两三句话来回答不但不能显示出你对这个专业的兴趣,还会让整个面试过程显得非常无聊。如果你不能很好地说明你的经验、成就和技能可以给企业带来的价值,那么你的竞争力毫无疑问就高不起来。所以,你需要对一些最常见的开放式问答作充分的准备,学会推销自己。
  4. 说得太多
    面试者回答问题的时候切忌一直不断地说,不断地说,不断地说,却并没有什么实质性的内容。换句话说,就是废话连篇,言之无物。如果你不能简洁的解释问题,那么面试官就会怀疑你在工作时的表现是不是也会像你的谈话一样拖泥带水?可以先问问面试官,确定是否真的需要详细解释。
    解释也是一门艺术,关键是确定重点,如果需要的话再深入到细节。当聊到业务的时候,就应该从业务的角度看问题,不要涉及任何技术术语。学会用简洁明了的方式解释问题。如果你能时刻把握主旨,那么这一点也不是问题。
  5. 礼貌和态度问题
    迟到,不适宜的着装,抖手抖脚,没有眼神接触,过于紧张,没有提问,显示不出对这份职业的兴趣,“我什么都知道”的高傲态度,贬低你的现在和以前的雇主,遇到技术问题时烦躁不安或者垂头丧气,为自己找理由而不是虚心接受错误,与面试官发生争执,不好的肢体语言,随波逐流而没有自己的看法,过于呆板,撒谎,嗓门太大,无法成为良好的倾听者,等等。
    不管面试官对你是什么态度,面试者对应该对每一个人给予足够的尊重。别人可以不尊重你,那是别人的事情;你不尊重别人,这是你自己的问题。你应当尊重任何人,在你的行为体现出你对别人的尊重。
    作为一个求职者,你需要表现出你对这份工作强烈的渴求。把你的渴望表现在你的面试中,敢于表现自己,让每一次面试都不留遗憾。面试官要找的不是技术明星,而是实实在在具备了合适的技术技能、软技能、端正的态度以及能为企业获取利益、全面的专业人才。因此,不妨先研究下想要应聘的机构,深入了解其工作规范以调整回答问题时的方向和重点。将每一场面试都当作免费的培训课程,积极调整心态,不但能达到一个双赢的局面,还可以减少紧张的情绪,从而获得更好的表现。这样即使你并没有得到那份工作,也可以由此学到点什么,获得进步。
    每个面试者都应该沉着笃定,自信而不自大地去应对面试,在面试中总结自己的经验与不足,让自己有所进步,一定要让自己在面试中不留遗憾.

面试充足的准备:

一、Java基础部分
1. 数组中的排序问题(笔试或者机试,前者可能性更大)
2. 面向对象的理解
3. 集合相关的问题,熟悉集合框架的所有组成。搞清楚每个集合对象的特性。
4. 多线程启动方式,以及产生死锁的原因和解决办法【多线程问题不是很常问,有精力就复习这块内容】
5. IO流,了解常见的几个流对象以及基本的流操作即可,被机试的可能性比较小。
6. 网络编程相关问题,网络协议等等。
二、Web基础
1. http协议(定义、常见的请求头以及响应头<功能>、状态码)
2. tomcat(目录结构<存放的内容以及配置文件里面能做哪些工作>、常见配置;有能力者可以了解一下tomcat的原理<启动加载问题>)
3. jdbc(编程步骤、与hibernate以及mybatis的区别)
4. servlet(概念的理解;生命周期、线程安全问题、接口相关类型、体系结构<区别>、request以及response的用途、servletContext对象的功能、编码以及路径问题)
5. filter(生命周期、常见应用、dofilter里面的参数、应用场景)
6. jsp(隐式对象、常见标签<指令、动作>、EL以及JSTL)
7. cookie/session(概念的理解;生命周期,session创建的时期,相关方法的使用)
三、JavaEE五大框架(struts2、hibernate、spring、springMVC、mybatis)
1. struts2(action相关的问题<书写方式[区别]、接受请求参数的方式、相关配置、访问servletAPI的方式>;值栈相 关问题<定义、内部结构、如何获取值栈对象、EL为什么能访问值栈中的数据>;struts2与springMVC的区别;拦截器与过滤器的 区别;struts2工作原理<执行流程>)
2. hibernate(核心思想要了解;开发流程<加载文件的过程>;查询方式;如何优化;sql与hql的区别;update与 saveOrUpdate的区别;get和load的区别;Java对象三种状态的特征以及转换、核心API、一级缓存和二级缓存、延迟加载)
3. spring(springIOC和DI;生命周期;Bean注入属性的方式;aop极其相关名词解释;核心类;applicationContext与beanFactory的区别;bean实例化有哪些方式)
4. springMVC(工作流程;与struts2的区别;乱码问题如何处理;各组件的扩展类型)
5. mybatis(与jdbc/hibernate的区别;)
四、数据库相关的问题
数据库这一块几乎都是一些概念性的问答题(存储过程、函数、事务、索引、触发器、视图、游标以及一些优化操作),笔试100%会出现,一般考察的都是多表联合查询。
五、前端技术相关
1. JavaScript核心对象
2. 浏览器BOM对象
3. 文档对象模型DOM
4. 常见事件
5. Ajax编程(web交互2种方式的对比)
6. 传统Ajax编程的步骤以及从服务器端返回的数据格式(之间的差别)
7. JSON数据格式的转换操作
8. jQuery选择器
9. jQuery的Ajax编程(常见方法)
六、项目相关问题(重点讲解项目子系统及模块的实现思路问题)
1. 请介绍一下你最近做的这一个项目吧【思路:项目给谁做的、项目涉及的领域、系统的架构(功能&技术)、系统的用途、系统的部署、使用了哪些比较新颖的技术】
2. 你这个项目大概有哪些功能,你负责了哪些核心功能?【拥有的功能尽可能说多一点,建议10个左右,自己负责的3个大(如商品管理、订单、购物车),其余的都是其他组员开发的任务】
3. 谈谈xx(具体的,比如商品管理、订单、购物车)模块/功能的实现思路?实现的过程中涉及到了哪些技术,这些技术能介绍下吗?
4. 你们公司有多少人?有测试吗?有美工吗?整个项目组人员配置是怎么样的?项目开发的流程大概是什么样子的?【检验是否有工作经验的一个问题】
5. 这个项目使用了什么构建工具没有?有的话,多模块之间是如何划分的?为什么要这么划分?
6. 在这个项目中,你们主要使用什么样的数据格式来进行数据的传输的?
7. 这个系统中你是如何实现跨系统调用的?
8. 高并发相关问题,缓存问题。
9. 分布式相关问题,你们线上部署时什么样的,能画一下吗?

0 0