研发工程师面试笔试题目
研发工程师面试难吗?求职面试时,面试官一般都会问你一些问题,也可能是通过问卷的形式提问,怎么回答才是最好的呢?这里给大家分享一些研发工程师面试笔试题目,希望对大家有所帮助。
研发工程师招聘面试题
一、String,StringBuffer, StringBuilder 的区别是什么?String为什么是不可变的?
1.
String是字符串常量,StringBuffer和StringBuilder是字符串变量。StringBuffer是线程安全的,StringBuilder是非线程安全的。具体来说String是一个不可变的对象,每次修改String对象实际上是创新新对象,并将引用指向新对象。效率很低。StringBuffer
是可变的,即每次修改只是针对其本身,大部分情况下比String效率高,StringBuffer保证同步(synchronized),所以线程安全。StringBuilder没有实现同步,所以非线程安全。但效率应
该比StringBuffer高。StringBuffer使用时最好指定容量,这样会比不指定容量0%-40%,甚至比不指定容量的StringBuilder还快。
二、VECTOR,ARRAYLIST, LINKEDLIST的区别是什么?
vector是同步的,arraylist和linkedlist不是同步的。底层方面,vector与arraylist都是基于object[]array实现的,但考虑vector线程安全,所以arraylist效率上回比vector较快。元素随机访问上,vector与arraylist是基本相同的,时间复杂度是O(1),linkedlist的随机访问元素的复杂度为O(n)。但在插入删除数据上,linkedlist则比arraylist要快很多。linkedlist比arraylist更占内存,因为linkedlist每个节点上还要存储对前后两个节点的引用。
三、HASHTABLE, HASHMAP,TreeMap区别
Hashmap和HashTable都实现了Map接口,但HashTable是线程安全的,HashMap是非线程安全的。HashMap中允许key-value值均为null,但HashTable则不允许。HashMap适合单线程,HashTable适合多线程。HashTAble中的hash数字默认大小是11,增加方式为old_2+1,HashMap中的hash默认大小为16,且均为2的指数。TreeMap则可以将保持的数据根据key值进行排列,可以按照指定的排序方式。默认为升序。
四、ConcurrentHashMap和HashTable的区别
两者均应用于多线程中,但当HashTable增大到一定程度时,其性能会急剧下降。因为迭代时会被锁很长时间。但ConcurrentHashMap则通过引入分割来保证锁的个数不会很大。简而言之就是HashTable会锁住真个map,而ConcurrentHashMap则只需要锁住map的一个部分。
五、Tomcat,apache,jboss的区别
Tomcat是servlet容器,用于解析jsp,servlet。是一个轻量级的高效的容器;缺点是不支持EJB,只能用于Java应用。Apache是http服务器(web服务器),类似于IIS可以用来建立虚拟站点,编译处理静态页面。支持SSL技术,支持多个虚拟主机等功能。Jboss是应用服务器,运行EJB的javaee应用服务器,遵循javaee规范,能够提供更多平台的支持和更多集成功能,如数据库连接,JCA等。其对servlet的支持是通过集成其他servlet容器来实现的。如tomcat。
六、GET POST区别
get是从服务器上获取数据,post是向服务器发送数据。get是把参数数据队列加到提交表单的action属性所指的URL中,值和表单内各个字段一一对应,在url中可以看到。post是通过HTTPpost机制,将表单内各个字段与其内容放置在html
header内一起传送到action属性所指的url地址。对于get方式,服务区端用request.QueryString获取变量值,对于post方式,服务器端用request.Form获取提交的数据。get传送的数据量较小,post较大,一般不受限制。get安全性比post要低,但执行效率较高。
七、SESSION, COOKIE区别
session数据放在服务器上,cookie则放在客户浏览器上。cookie不太安全,因为可以分析出本地cookie,并进行cookie欺骗,考虑安全应使用session。session会在一定时间内保存在服务器上,当访问增多时,会比较占用服务器的性能,考虑减轻服务器压力则应该使用cookie。单个cookie保持的数据不超过4k,很多浏览器都限制要给站点最多保存20个cookie。
八、Servlet的生命周期
主要分三个阶段:初始化——调用init()方法,响应客户请求阶段——调用service()方法,终止阶段——调用destroy方法。工作原理:客户发送一个请求,servlet调用service方法对请求进行响应,即对请求方式进行匹配,选择调用doGet、doPost方法等,然后进入对于的方法中调用逻辑层的方法,实现对客户的响应。自定义的servlet必须首先servlet接口。
具体生命周期包括:装载Servlet、服务器创建Servlet实例、服务器调用Servlet的init()方法、客户请求到达服务器、服务器创建请求对象、服务创建相应对象、服务器激活Servlet的service方法,请求对象和响应对象作为service()方法的参数、service()方法获得关于请求对象的信息,处理请求,访问其他资源,获得需要的信息、service()方法可能激活其他方法以处理请求,如doGet(),doPost()
深圳艾派应用系统有限公司Java研发工程师面试题
JAVA基础部分:
一:选择
关于静态变量描述正确的
垃圾回收的方式()
二:填空
三:问答
Statement 和preparedStatement的区别
谈谈final, finally, finalize的区别
面向对象部分:(这部分主要还是UML方面的)
写一个Singleton模式
一:选择
UML的图
下面那个图可以用来说明程序的执行顺序和程序的行为
UML的执行者的描述正确的
眼睛,鼻子,耳朵与头的关系描述正确
A继承 B。组合 C。实例化 D。引用
男人和人的关系描述正确的是
A继承 B。组合 C。实例化 D。引用
二:填空
可以用来控制程序结构为单入口单出口
三.问答题
useCase
JAVA WEB部分:
一:选择
java中表示同步方法的关键字是synchronized
SCRIPT中用于提示消息的是那个
二: 填空
1.
事务的ACDI属性:原子性(Atomicity)一致性(Consistency)隔离性(Isolation)持久性(Durability)
2. JSP的4个基本动作
3. 字符串通常分为2类,字符串常量我们通常用 表示,字符串变量我们通常用 类表示
4. 如何用javaScript 提示用户消息框
提示对话框
三:问答题
设计一个页面要求:有一个输入框用于填写age,一个提交按钮,还要写一段SCRIPT用于
判断年龄(当年龄大于55岁时 要求提示用户年龄太大)
面试问我的2个问题:
HIBERNATE的主键你如何配置的,它有几种关联关系
描述STRUTS的工作流
久其Java研发面试题
1.常用的开源框架
servlet和tomcat的关系2.Eclipse开发中用到的插件
3.项目开发中,遇到问题如何解决,举例说明
4.MVC控制层的作用
5.开发中用到的工具
6.谈谈数据库的内外连接
7.你用过哪些数据库
8.学习了哪些课程
9.举例说明快速学习的成果
10.在大学期间所获的奖励
11.谈谈数据结构
12.说说struts框架
在前台会先让填一张表,正面是自己的基本信息,反面是心理测试题,就是让你选出符合描述自己的名词。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。