⑴ 开发人员笔试题
开发人员笔试题
开发人员笔试题大家去面试的时候相信都会做过一些。下面是我整理的开发人员笔试题,欢迎大家阅读。
一、填空题(本大题10小题,每空1分,共20分) 。
1.java语言的三大特性即是、、
2.在Java中,char 型采用____unicode_______编码方案,这样,无论是中文字符还是英文字符,都是占用__2___个字节的内存空间。
3. 形式参数指的是方法被__定义____ 时的参数行,实际参数是方法被__调用___ 时所传递进去的变量或值。
4.JSP
对象则是每个客户专用的。
接口 。
6.程序中实现多线程的方法有两种:继承Thread类和实现
接口。
对优先级。
8.面向对象编程的五大设计原则,分别是、 、、
9.通过Ajax,客户端获取的数据主要有两种类型:文本型和 10. Socket通常也称为套接字 ,用于描述 和
二、选择题(本大题 20 小题,每小题2分.共40分)。
1.在JAVA中,如果父类中某些方法不包含任何逻辑,并且需要由子类重写.应该使用( )关键字来声明父类的这些方法:
A) final B) static C) abstract D) void
2.在JAVA中,已定义两个接口B和C,要定义一个实现这两个接口的类,以下语句正确的是( )。
A) interface A extend B,C B) interface A implements B,C
C) class A implements B,C D) class A implements B, implements C
3.在JAVA接口中可以定义( )。
A) 静态方法 B) 常量 C) 构造方法 D) 抽象方法
4.假设A有构造方法A (int a),则在类A的其他构造方法中调用该构造方法和语句格式应为( )。
A) A(X) B) this.A(x) C) this(x) D) super(x)
5.设 x = 1 ,y = 2 , z = 3, 则表达式 y+=z--/++x 的值是( )。
A) 3 B) 3.5 C) 4 D) 5
6.下列关于继承的说法哪个正确?( )。
A)子类只继承父类public方法和属性:
B)子类继承父类的非私有属性和方法:
C)子类继承父类的方法,而不继承父类的属性:
D) 子类将继承的所有的属性和方法.
7.在java中.在使用JDBC时。对于多次调用同一条SQL语句的情况, 使用( )通常会提高效。
A) Statement B) CallableStatement
C) PreparedStatement D) PrarmeterStatement
8.下列不能控制一个Servlet的生命周期方的法是:
A) service B) destroy C) doPost D) init
9.能够给一个byte型变量赋值的范围是( )。
A) 0~65535 B) (-128)~127
C)(-32, 768)~32, 767 D) (-256)~255
10.java语言中int类型数据占用多少位?( )。
A) 32 B) 64 C) 16 D) 20
11. ServletContext对象是如何创建的?( )。
A) 由 Servlet容器创建,对于每个HTTP请求.Servlet容器都会创建 一个ServletContext对象
B)由JavaWeb 应用本身为自己创建一个ServletContext对象
C)由Servlet容器创建,对于每个JaveWeb应用,在启动时,Servlet容器都会创建一个ServletContext对象
12.在JSP中不能在不同用户之间共享数据的方法是( )。
C) 利用数据库 D) 通过ServletContext对象
13.以下哪个不是Collection的子接口?( )。
A) List B) Set C) Map D) SortedSet
14. 下面正确的创建 Socket 的语句是( )。
A) Socket a = new Soeket(80):
B) Socket b = new Socket("130. 3. 4. 5", 80):
C) ServerSocket c = new Socket(80)
D) ServerSocket d = new Socket ("130. 3. 4, 5", 80)
15.下面的说法正确的是( )。
A)带有页作用域的对象在一个web应用程序的每个JSP中都存在.
B)指令指定与一个特定的JSP 请求不相关的全局信息。
C)当JSP容器遇到开始定制标签和结束定制标签时,分别调用 doInitBody方法和doAfterBody方法。
D) 动作只在翻译时处理一次。
16.为了区分重载多态中同名的不同方法,要求:( )。
A)参数名不同 B) 采用不同的形式参数列表
C)返回值类型不同 D) 选项A, B, C都对
17.下面是有关子类调用父类构造函数的描述正确的是:( )。
A)子类定义了自己的构造函数.就不会调用父类的构造函数
B)子类必须通过Super关键字调用父类有参数的构造函数
C)如果子类的构造没有通过super调用父类构造函数,那么子类会 先调用子类自己的构造函数,再调用父类不含参数的构造函数。
D)创建子类的对象时,先调用子类自己的构造函数,然后调用父 类的构造函数
18.在Java中,负责对字节代码解释执行的是( )。
A) 垃圾回收器 B) 虚拟机 C) 编译器 D) 多线程机制
19.一个java程序运行从上到下的环境次序是( )。
A) 操作系统、Java程序、jre/jvm、硬件
B) jre/jvm、Java程序、硬件、操作系统
C) java程序、jre/jvm、操作系统、硬件
D) java程序、操作系统、jre/jvm、硬件
20.对于从Employee表中选择记录的'以下代码片段,识别其遗漏的代码行。( ) Connection con = null:
Class. forName("sun.jdbc.odbc.JdbcOdbcDriver"):
con=DriverManager.getConnection("jdbc:odbc:ss" , "sa" , "");
ResultSet rs=stat.executeQuery("select * from Employee");
A) Statement stat=createStatement();
B) Statement stat=con.createStatement ();
C) PreparedStatement stat=con.createStatement():
D) PreparedStatement stat=createPreparedStatement();
三、问答题(本大题6小题,共40分)。
1.请说出 ArrayList , Vector , LinkedList 的存储性能和特性。(6分)
2.什么是单例模式(Singleton) ? 请在下面写出一个单例模式类,并支持多线程调用。(6分)
3.请描述一下JVM加载class文件的原理机制?(6分)
4.请谈谈对SQL注入的理解,请给出你知道的防止SQL注入的方法。(6分)
5.请谈谈对hibernate的理解,并简要叙述Hibernate的一级缓存和二级缓存(8分)。
6.请写出你知道的排序方法,并使用Java语言写出其中一种。(8分)
三、简答题(参考答案)
1. ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。
2. 创建某类对象时,无论创建多少次该类对象只有一份在内存中,这就是单例模式。支持多线程调用,考虑线程安全,只需要加锁即可。
public class Singleton{
private static Singleton instance = null;
private Singleton(){}
private static synchronized void syncInit(){
if(instance == null){
instance = new Singleton();
}
}
public static Singleton getInstance(){
if(instance == null){
syncInit();
}
return instance;
}
}
3. JVM中类的装载是由ClassLoader和它的子类来实现的,Java ClassLoader是一个重要的Java运行时系统组件。它负责在运行时查找和装入类文件的类。
4.解决办法:a. 利用JavaScript,在客户端进行校验。
b.程序判断 c.使用PreparedStatement连接数据库。(参数化) d.利用框架技术
5. Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用。
一级缓存就是Session级别的缓存,一个Session做了一个查询操作,它会把这个操作的结果放在一级缓存中,如果短时间内这个
session(一定要同一个session)又做了同一个操作,那么hibernate直接从一级缓存中拿,而不会再去连数据库,取数据;
二级缓存就是SessionFactory级别的缓存,顾名思义,就是查询的时候会把查询结果缓存到二级缓存中,如果同一个sessionFactory
创建的某个session执行了相同的操作,hibernate就会从二级缓存中拿结果,而不会再去连接数据库;
6.插入排序、希尔排序、冒泡排序、快速排序、直接排序、归并排序 下面以快速排序为例:
public class quickSort {
inta[]={49,38,65,97,76,13,27,49,78,34,12,64,5,4,62,99,98,54,56,17,18,23,34,15,35,25,53,51};
public quickSort(){
quick(a);
for(int i=0;i
System.out.println(a[i]);
}
}
public int getMiddle(int[] list, int low, int high) {
int tmp =list[low]; //数组的第一个作为中轴
while (low < high){
while (low < high&& list[high] >= tmp) {
high--;
}
list[low] =list[high]; //比中轴小的记录移到低端
while (low < high&& list[low] <= tmp) {
low++;
. }
list[high] =list[low]; //比中轴大的记录移到高端
}
list[low] = tmp; //中轴记录到尾
return low; //返回中轴的位置
}
public void _quickSort(int[] list, int low, int high) {
if (low < high){
int middle =getMiddle(list, low, high); //将list 数组进行一分为二
_quickSort(list, low, middle - 1); //对低字表进行递归排序
_quickSort(list,middle + 1, high); //对高字表进行递归排序
}
}
public void quick(int[] a2) {
if (a2.length > 0) { //查看数组是否为空
_quickSort(a2,0, a2.length - 1);
}
}
}
1、简述 private、 protected、 public、 internal 修饰符的访问权限。
2、列举ASP.NET 页面之间传递值的几种方式。
5、如果在一个B/S结构的系统中需要传递变量值,但是又不能使用Session、
Cookie、Application,您有几种方法进行处理?
6、什么是装箱和拆箱?
8、ASP.net的身份验证方式有哪些?分别是什么原理?
9、在C#中,string str = null 与 string str = “” 请尽量使用文字或图
象说明其中的区别。
10、SQLSERVER服务器中,给定表 table1 中有两个字段 ID、LastUpdateDate,
ID表示更新的事务号, LastUpdateDate表示更新时的服务器时间,请使用一句 SQL语句获得最后更新的事务号
11、写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的。
12、能用foreach遍历访问的对象需要实现 ________________接口或声明
________________方法的类型。
14、接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可
继承实体类(concrete class)?
15、try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
16、如何处理几十万条并发数据?
17、Session有什么重大BUG,微软提出了什么方法加以解决?
18、向服务器发送请求有几种方式?
19、DataReader与Dataset有什么区别?
20、需要实现对一个字符串的处理,首先将该字符串首尾的空格去掉,如果字符串中
间还有连续空格的话,仅保留一个空格,即允许字符串中间有多个空格,但连续的空 格数不可超过一个.
21、什么叫做SQL注入,如何防止?请举例说明。
22、ADO.net中常用的对象有哪些?分别描述一下。
23、什么是SOAP,有哪些应用?
25、float f=-123.567F; int i=(int)f;i的值现在是_____?
26、使用过那几种框架?数据持久层框架,业务层框架。
⑵ JAVA笔试题(与构造函数、静态变量有关)
1.amethod()方法被重写
2.getMyClass()中输出一次,main()中再输出一次
⑶ 东软java初级工程师考什么
java基础知识,算法,数据结构等~~
重要的是基础啦,什么是面向对象啦,多态啦、mvc啦
⑷ 马上要参加东软的校园招聘会了 想知道 东软的BPO职位的面试和笔试都会考些什么样的东西
Hello~前几天,他们来我学校了,先宣讲,然后笔试60分钟。
笔试题很杂。
有翻译、敬语、计算机知识、文法、词汇(记得就是第一题要让写出那词的平假名),,,还有计算题!!这个蛮好玩的,不怎么难。
整套题做了没什么底。。没见过不认识的词啊什么蛮多的。。
面试。
先叫你自我介绍,这个很重要,我没准备,所以讲得很短,那人很无奈得问两次“没了?”。。。然后就闲聊,看你资料和笔试的答题纸,他有兴趣的问。其实就是聊天啦。看你的口语还有语法还有流畅度。
他当时问我喜欢什么音乐 家离那么远为什么要来 会什么料理。。。
聊得时间越长,你越有希望。
一共三轮面试,一二都是日语,三轮是中文。
大部分人第一轮面完就拜拜了。三轮都面完你就有可能拿到录用意向书(有盖章),可能哦。
然后还有一种是第一轮面完他说你哪里还不足,但哪方面很好,叫你秋季再来面试的,第二轮就是中文面了。面完会给你一张纸,录用意向书(无盖章),是秋季最终面试直通车。到时候直接再次考验你的日语,不用笔试啊什么的。行的话他们就要你。
那个人说我口语好,流畅度不够。我拿到的是直通车纸555555
我两个同学成功拿到盖着章得录用意向书。
哎。讲话一定要流畅,话要多,最好还有点幽默。因为我话太少了。
⑸ java面试/笔试题
1.JSP、Servlet、JavaBean技术的出现给我们构建强大的企业应用系统提供了可能。但用这些技术构建的系统非常的繁乱,所以在此之上,我们需要一个规则、一个把这些技术组织起来的规则,这就是框架,Struts便应运而生。
经过长达五年的发展,Struts已经逐渐成长为一个稳定、成熟的框架,并且占有了MVC框架中最大的市场份额。但是Struts某些技术特性上已经落后于新兴的MVC框架。面对Spring MVC、Webwork2 这些设计更精密,扩展性更强的框架,Struts受到了前所未有的挑战。但站在产品开发的角度而言,Struts仍然是最稳妥的选择。
Struts2.0为其它框架提供了更好的集成。
使得与Spring的集成非常的容易。
2.Struts的工作流程:
在web应用启动时就会加载初始化ActionServlet,ActionServlet从
struts-config.xml文件中读取配置信息,把它们存放到各种配置对象
当ActionServlet接收到一个客户请求时,将执行如下流程.
-(1)检索和用户请求匹配的ActionMapping实例,如果不存在,就返回请求路径无效信息;
-(2)如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm对象中;
-(3)根据配置信息决定是否需要表单验证.如果需要验证,就调用ActionForm的validate()方法;
-(4)如果ActionForm的validate()方法返回null或返回一个不包含ActionMessage的ActuibErrors对象,就表示表单验证成功;
-(5)ActionServlet根据ActionMapping所包含的映射信息决定将请求转发给哪个Action,如果相应的Action实例不存在,就先创建这个实例,然后调用Action的execute()方法;
-(6)Action的execute()方法返回一个ActionForward对象,ActionServlet在把客户请求转发给ActionForward对象指向的JSP组件;
-(7)ActionForward对象指向JSP组件生成动态网页,返回给客户;
3.在struts配置文件中配置具体的错误提示,再在FormBean中的validate()方法具体调用。
4.(1) 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。
(2) Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作
(3)hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。
(4)hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库,从一对一到多对多的各种复杂关系。
5.原理:
(1).读取并解析配置文件
(2).读取并解析映射信息,创建SessionFactory
(3).打开Sesssion
(4).创建事务Transation
(5).持久化操作
(6).提交事务
(7).关闭Session
(8).关闭SesstionFactory
6.
Hibernate的最大的好处就是简化数据库的操作,允许你的代码以对象模式来访问数据库内容,
比如通常我们找一个User的资料需要select出所需要的资料,而通过hibnate我们可以把这个User的资料作为一个对象来看待
,通过User.getName()或者User.getId()等操作来获得,这样就完全统一了上层JAVA或者C#等OO语言中对于数据库的非OO操作的不和谐了.
另外对于复杂的表和表之间的关联我们也不用去使用复杂的Select等SQL来操作,而使用对象可以方便获得,
比如多对多关系某用户属于的部门的名称,虽然底层数据库使用了3个表的主键关联操作,
但是我们可以通过User.getDep().getName()来简单的获得,这个就是持久化对象的好处了
7.
(1)、spring能简化企业级开发, spring可以用简单的java bean来代替实现复杂的EJB。(大部分情况下)
(2)、spring是一个轻量级的IOC和AOP框架,可以spring的IOC实现松耦合,而作为一个AOP框架他又能分离系统服务,实现内聚开发
(3)、spring是非侵入式,基于spring的系统可以不依赖于spring的类。
良好的spring运用可以使程序代码清晰,容易维护,容易测试。
8.
Spring是个很不错的框架。内部最核心的就是IOC了,
动态注入,让一个对象的创建不用new了,可以自动的生产,这其实就是利用java里的反射
反射其实就是在运行时动态的去创建、调用对象,Spring就是在运行时,跟xml Spring的配置
文件来动态的创建对象,和调用对象里的方法的 。
Spring还有一个核心就是AOP这个就是面向切面编程,可以为某一类对象 进行监督和控制(也就是
在调用这类对象的具体方法的前后去调用你指定的 模块)从而达到对一个模块扩充的功能。这些都是通过
配置类达到的。
Spring目的:就是让对象与对象(模块与模块)之间的关系没有通过代码来关联,都是通过配置类说明
管理的(Spring根据这些配置 内部通过反射去动态的组装对象)
要记住:Spring是一个容器,凡是在容器里的对象才会有Spring所提供的这些服务和功能。
Spring里用的最经典的一个设计模式就是:模板方法模式。(这里我都不介绍了,是一个很常用的设计模式)
Spring里的配置是很多的,很难都记住,但是Spring里的精华也无非就是以上的两点,把以上两点跟理解了
也就基本上掌握了Spring.
9.
(1).spring mvc请所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责负责对请求进行真正的处理工作。
(2).DispatcherServlet查询一个或多个HandlerMapping,找到处理请求的Controller.
(3).DispatcherServlet请请求提交到目标Controller
(4).Controller进行业务逻辑处理后,会返回一个ModelAndView
(5).Dispathcher查询一个或多个ViewResolver视图解析器,找到ModelAndView对象指定的视图对象
(6).视图对象负责渲染返回给客户端。
⑹ 哪里有java笔试题
https://www.nowcoder.com/contestRoom?mutiTagIds=639
牛客网-Java专题
很适合程序猿刷笔试面试题
望采回纳答 谢谢。
⑺ 请问南京东软集团Java实习生的面试和笔试难吗实习期待遇怎样哪位大神给奉献几份笔试题,小弟先谢了。
不难 就是java基础知识 你要了解他们企业的情况 就知道了
⑻ 求最新JAVA面试题目,越全越好!!!
这里有很多Java面经的,附答案和讲解,自行下载即可:
Java资源教程专栏
⑼ 一道 java 笔试题,不会做。。。
publicclassUnion{
publicstaticint[]intersect(int[]a,int[]b){
int[]result=newint[a.length];
intre=0;
for(inti=0,j=0;i<a.length&&j<b.length;){
//System.out.println(i+""+j);
if(a[i]==b[j]){
result[re]=a[i];
re+=1;
i+=1;
j+=1;
}elseif(a[i]>b[j]){
j+=1;
}else{
i+=1;
}
}
int[]newResult=newint[re];
for(intk=0;k<re;k++){
newResult[k]=result[k];
}
returnnewResult;
}
publicstaticvoidmain(String[]args){
int[]a={1,3,4,6,7,8,9,56,343};
int[]b={0,2,3,4,9};
for(intvar:intersect(a,b)){
System.out.print(var+" ");
}
}
}
时间复杂度应该是O(n+m) //n,m指a,b数组的长度
⑽ 东软面试经验
东软面试经验
东软软件工程师面试经历:
问个人情况,了解一些自己简历上的信息,问了家庭情况,专业学习情况,获得过哪些奖励,参加过哪些活动,去到在一楼等,之后他们下来一个人把我们分成两组,其中一组先去人保财险,另一组去中人经纪面试。我分在去人保财险,上去24楼顶层,我们一会到这个等,一会儿到那边等,半个多小时后才开始叫我们面试。由于是个面,一对三那种,进去一个面试,一个做准备,其他人就无聊地在聊天。悲剧的我被排到了第9个,也就是我们那组中倒数第三个,由于身患感冒,鼻子很不舒服,我急躁不安的走来走去。听出来的人说,不会问专业的知识,主要问些比较后期的问题,类似你家在哪里,父母不同意你在广州工作怎么办,都是聊天式的,氛围比较轻松。而且是三个面试官中,有一个是广州分行的,一个是东莞的,另一个是顺德的',现在想想,那么迟才开始的原因可能是另外两个地方的面试官赶过来迟了。
终于轮到我进去面试了,见到四个女人坐在对面,有点不太定,想保持笑容,但有点僵。先做个自我介绍,说了一下,主要是简历上的经历,没有特别展开说,由于没有限定时间,所以说了一会就等着她们问我。其实当时我该多说说才对的,既然她给我机会说,就不要自己跟自己过不去,面试官都喜欢多说的人。之后是各种问题,问我写作能力如何。记得最深的是“相比其他人,我的优势是什么?”,我就借着简历上的写的经历,说我比较适合市场,市场敏感性比较好,比较能了解商家或者交易对方想什么,需要什么。其实,“市场敏感性”这个词怪怪的,说自己商业意识比较好或许好点。她问我,如果让我回梅州工作,我愿不愿意?我绕着弯回答不愿意,我说,要在广州积累几年工作经验,再派到梅州会更好。问我,如果把我安排到东莞,我比那些工作的人优势在哪里?我回答我的专业性,顺势表示我经验不够,要跟他们学习,但未来潜力很大,肯定可以比他们做的好。问题主要是广州的那个不知是不是经理的人在问,其他两个主要在听。我刚开始眼睛只对着广州那个在讲,后段时眼神也开始跟另外两个交流一下,而且笑得也很自然,讲到回家乡工作时都有点扯皮似的,看得出广州那个“聊”比较投机。最后顺德那个说欢迎我到顺德工作。
东软嵌入式开发中心培训实习生面试经历:
他们会问我什么呢?我又该如何应答呢? 请大家给我些意见,集思广益。 一般参加培训的面试很简单都是常规问题如果有笔试就是问问性格没笔试就问问专业
报 大连东软这学校好吗? 在东软学嵌入式系统有发展没? 您可能会感兴趣 大连哪里嵌入式培训最好?
他们在大连市最早做嵌入式培训的,就业听说很好,东软嵌入式事业部有很多都是大工的学生。其实在大连真正作嵌入式培训的并不多,大工的口碑不错,现在
计算机培训学校、东软JAVA培训、东软嵌入式培训、东软软件培训学校、东软软件工程师培训、东软JAVA软件工程师培训、东软JAVA软件培训、东软软件培训、大工IT培训、
面试官提的问题:
简单的自我介绍而后询问了专门方面的知识,面试官问我以往有实习经历?