java工程师面试记录

面试记录

一、20##-5-9

候选人:A--------------面试官:研发一处白鹏

l  自我介绍

l  现在在做的项目有多少人?20人

l  是独立在做,还是?开发独立,但上面还有系统

l  下面有带人吗?没有

l  了解一下用过什么技术来做接口?webservice,sophy

l  有没做过报表的开发或定制?

l  怎么生成报表,用工具还是自己写?

l  输出的报表是什么格式的?

l  Oracle熟吗?

l  并存的话主要是做什么?

l  Trick用来干什么?

l  有哪几种方式的trick?

l  大数据能自己进行数据优化吗?

l  索引在什么情况下建?

l  存储数据时以什么方式(结构)去布局?

l  数据库查询时时从前往后还是从后往前的调整?

l  看环比时,是怎么实现的?

l  SSH框架熟吗?

l  Spring里A(可读可写),B(空白),C(可读),当A成功,但B insert出错后,整个思路能否回来?

l  Spring好吗?优缺点?

l  你使用hibernate有什么心得?

l  Hibernate里可以用SQL吗?

l  Strus用过几?1用过吗?

l  前台页面用的什么?

l  纯Javascript熟吗?有自己做过控件吗?

l  Javascript有什么对象?怎么实现进程?怎么发布服务?

l  对自己的职业规划?

l  目前做了那些努力?

l  努力过程中还有不足的?

l  你有什么要问的吗?

面试反馈

后续,5.16用人部门综合考虑后决定不约复试。

二、20##-5-12

候选人:A-------------------面试官:研发一处贾俊宇

l  自我介绍

l  用swing中遇到的问题,如何解决?

l  大数据处理时印象深刻的案例?

l  最大数据有多少?保留几个月?

l  怎么处理新加的默认值?

l  怎么看执行计划?

l  介绍一下你的项目,做的什么?你的角色?

l  有什么场景会遗漏数据?

l  有没有用过线程?

l  关于事务处理

l  关于中间件有了解过吗?

l  有用过什么接口?

l  会怎样设计通信程?

l  Java原生的NIO,顶层接口是?

l  字节流和字符流的区别?

l  项目时间最长,人最多的一次?

l  同时分配了很多任务,怎么处理?

l  自己偏向于做哪种?技术还是应用?

面试反馈

三、20##-5-22

候选人:A--------面试官:研发一处党陈鹏

l  说一下你擅长的技能

l  讲一下你带的那个项目(项目是做什么的?涉及到的模块?你的工作职责?遇到的问题(不限于技术问题)?如何解决的?)

l  Java用过哪些框架?

l  有无做过CS架构系统,C端是用什么做的?

l  BS的UI用过些什么?

l  Java多线程了解吗?

l  情境:有一张表,某系统不停往里写数据,速度很快,经过最大优化,你的工作是负责读出数据,计算出每一条数据,然后删掉,但是过程中发现计算很耗时而且你无法改变外部系统往里写数据的速度,这时你该怎样设计呢?(用线程)

l  在多线程中,怎样防止这个数据被多个线程拿到?

l  有无处理过大数据?

l  你觉得数据库怎样?主要擅长使用哪种数据库?

l  Oracle有哪些个性化的函数或者关键字?

l  如何用一张表实现一个树状结构?

l  如何查出一个节点下面所有的子节点?

l  Oracle的核心在于执行计划,你对于执行计划有没有过了解?(数据都是千万上亿级的)

l  情景题:在A表上有X字段,建立了一个普通索引,使用的是hibernate, 语句为select *A from A,X=?问,在什么情况下,不会走索引?(这是在做大数据过程中会常见的问题)

面试反馈

20##-5-23

候选人:A-----------------面试官:研发三处袁爱平

自我介绍

做了什么提升自己的项目,产生的问题,如何解决的,自己的感受

有一张表,每天的数据量增长一百万以上,你会如何优化?

传统的J2EE框架用过吗?讲一下你用的其中最好的一种的优缺点

Hibernate和mybeatles分别适合什么业务,举详细的例子

Spring mvc和strus2的区别

Spring mvc是支撑类的还是支撑方法的,判断依据?

有没有代码重构的相关工作经验?

写了多少行有价值的代码(自己写的)?

对自己java基础哪一块比较熟练?

你的多线程怎么样?

Connection是做什么的?

面试反馈

 

第二篇:Java工程师面试考试题

Java工程师面试考试题

姓名:________电话:____________ 邮箱:______________ 应聘职务__________

1、测试生命周期、测试过程分为几个阶段,以及各阶段的含义?

解答:软件测试生命周期一般包括6个阶段:

1)计划:产品定义阶段

2)分析:外部文档阶段

3)设计:文档架构阶段

4)构建:单元测试阶段

5)测试周期:错误修正,重复系统测试阶段

6)最后的测试和实施:代码冻结阶段

2、 运行时异常与一般异常有何异同?

解答:异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。

3、Hibernate中:不看数据库,不看XML文件,不看查询语句,怎么样能知道表结构? 解答:可以看与XML文件对应的域模型。

4、试述数据库完整保护的主要任务和措施。

解答:数据库的完整性保护也就是数据库中数据正确性的维护。数据库完整性包括三个内容:实体完整性规则,参照物完整性规则以及用户定义完整性规则。 前两个是有DBMS自动处理。

实体完整性规则是说针对于基表中的关键字中属性值不能为空值,是数据库完整性的基本要求,主关键字和元组的唯一性对应。

参照物完整性规则是不允许引用不存在的元组:即基表中的外关键字要么为空,要么关联基表中必存在元组。

用户定义完整性规则针对具体的数据环境由用户具体设置的规则,它反应了具体应用中的语义要求。 一个完整性规则一般由下面三部分组成:完整性约束条件设置,完整性约束条件的检查以及完整性约束条件的处理.后两部分在数据库中一般有相应的模块处理。另外触发器也可以做完整性的保护,但触发器大量用于主动性领域。

5、类有哪三个基本特性?各特性的优点?

解答:封装性:类的封装性为类的成员提供公有、缺省、保护和私有等多级访问权限,目的是隐藏类中的私有变量和类中方法的实现细节。

继承性:类的继承性提供从已存在的类创建新类的机制,继承(inheritance)使一个新类自动拥有被继承类(父类)的全部可继承的成员。

多态性:类的多态性提供类中方法执行的多样性,多态性有两种表现形式:重载和覆盖。

1

6、HashMap和Hashtable的区别?

解答:HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都实现了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上高于Hashtable。HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现。最大的不同是,Hastable的方法是synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供同步。

7、简要描述如何结合struts、hibernate、spring开发Web应用?

解答:

Struts可以将jsp页面的表单关联起来,就是把JSP页面的表单数据封装成javaBean,这样的话,在action中你再也不需要使用传统的request.getParameter(“name”);还有struts有一个控制器,你在struts编程中的控制器(XxxAction)都是继承总的ActionServlet,它能集中处理请求,然后转到相关的页面。还有struts的表单验证组件,不用你写js验证了,只需要你配置一下文件就可以了。另外struts的令牌机制可以防表单重复提交。

Spring 是一个轻量级容器,非侵入性.包含依赖注入,AOP等。它是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。

Hibernate:它可以让我们以OO的方式操作数据库,这让我们看到了hibernate的强大之处,体验到操作数据的方便。但hibernate最耀眼之处是hibernate的缓存机制,而不是以OO的方式操作数据库。Hibernate的缓存机制不外乎是一级缓存session,二级缓存sessionFactory,和第三方缓存如ehcache。也就是hibernate的最强大的地方是它的缓存,理解了这个才能真正的理解hibernate,Hibernate的命名查询/命名参数查询,就是将hql语句放在一个单独的xml文件之中,它仍然让人们以面向对象的方式去操纵数据,而不用在以OO的方式写着代码的同时,然后再转变思维,用面向关系的方式去写那些sql语句。但hibernate不仅做了这些,它的native sql查询方式,完全满足sql语句的偏爱者,它像ibatis一样,将sql语句放在配置文件之中。

8、简要描述你在之前工作中,项目有待改进的地方有哪些?在功能实现上比较好的设计有哪些?

2