首页 java软件工程师面试题

java软件工程师面试题

举报
开通vip

java软件工程师面试题java软件工程师面试题 Java软件工程师面试题 笔试时间:1.5小时 一、 基础类 1、 什么是面向对象程序设计、什么是结构化程序设计、什么是面向方面程序设计,他 们之间的异同点是什么, 所谓面向对象,就是基于对象的概念,以对象为中心,类和继承为构造机制,认识 了解刻画客观世界以及开发出相应的软件系统。 2、 谈谈你对多态的认识,并列举出你所知道的多态的种类和形式, 3、 什么是死锁,解除死锁一般有哪些方法,你在编程中用到过防止死锁的算法没有, 实现的大体思路是什么, 4、 什么叫事务,什么叫事...

java软件工程师面试题
java软件 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 师面试题 Java软件工程师面试题 笔试时间:1.5小时 一、 基础类 1、 什么是面向对象程序 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 、什么是结构化程序设计、什么是面向方面程序设计,他 们之间的异同点是什么, 所谓面向对象,就是基于对象的概念,以对象为中心,类和继承为构造机制,认识 了解刻画客观世界以及开发出相应的软件系统。 2、 谈谈你对多态的认识,并列举出你所知道的多态的种类和形式, 3、 什么是死锁,解除死锁一般有哪些方法,你在编程中用到过防止死锁的算法没有, 实现的大体思路是什么, 4、 什么叫事务,什么叫事务的ACID性, 5、 线程是最小的独立任务单位,允许多个线程共享内存。 线程的作用:独立运行,提高CPU利用率。 6、 ArrayList和LinkedList的区别, ArrayList-动态数组:长度可变。可以通过get(序号)方法获得第i个值。下标为 0--size()-1。内存顺序且连续。口口口口口口。查找或修改元素速度快。 LinkedList--链表:内存顺序但不连续。口-->口-->口-->口 删除和插入元素速度快。 TreeMap:key按一定逻辑顺序自动排序。允许实现自定义比较器实现自定义比较规则。 TreeSet:元素按一定的逻辑顺序自动排序。自定义比较器 class MyComparator implements Comparator。////自动对元素进行逻辑排序(数值型按从小到大。字符串按字典顺序) .通过重写比较器实现自定义比较规则,并允许元素重复 HashSet:将各个元素的内存地址转成哈希码,使用哈希码表找到各个元素。/*hashCode是jdk根据对象的地址或者字符串或者数字算出来的int类型的数值*/ 6、throw和throws throw :动词。通过“throw 异常对象”在代码中手动抛出异常。只有"逻辑错误"才需要调用throw来手动抛出。只要方法中有调用throw 语句,要在方法声明时用加上“throws +异常类" ,除了RuntimeException的子类对象。 throws:介词。在方法声明后加入“throws +异常类" ,说明该方法可能会抛出这个异常,请调用上层注意使用“try”。 7、wait:a 如果wait发生在同步锁语句中,会让该线程进入等待状态,同时释放同步锁。 b 如果wait不是发生在同步锁语句中,则会让线程进入"就绪状态"-run方法重新执行。 notify: 通知 关于发布提成方案的通知关于xx通知关于成立公司筹建组的通知关于红头文件的使用公开通知关于计发全勤奖的通知 其他随机1个处于"等待"状态的线程可以继续执行。 notifyAll:通知其他所有处于"等待"状态的线程可以继续执行。 二、 JSP类 jsp的原理(生命周期): a 翻译(==>.java(第一次被访问) b 编译((第一次被访问,在web服务器中的servlet容器中可运行的特殊class--Servlet) c 实例化(第一次被访问) d 初始化 (第一次被访问) e 不断的处理请求 f 销毁(服务器关闭,网站被删除) ///只要修改jsp代码,再次访问时会重新开始生命周期。 1、 什么情况下调用doGet()和doPost(), 2、 servlet的生命周期是什么,实例化,初始化,不断地处理请求,销毁 3、 如何现实servlet的单线程模式 , 4、 页面间对象传递的方法有哪些, 5、 JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么, 6、 forward和redirect的区别 7、 XML的解析方法DOM/SAX/JDOM/DOM4J 8、 什么是Web Service,什么是SOA,两者之间的关系是什么, Web Service是一种跨编程语言和跨操作系统平台的远程调用技术。面向服务的体系结 构(service-oriented architecture,SOA)是一个组件模型,它将应用程序的不同功能单 元(称为服务)通过这些服务之间定义良好的接口和契约联系起来 9、 JSP中动态INCLUDE与静态INCLUDE的区别 a 动态包含分别翻译成java文件,并分别编译成class文件静态包含将文件合并后翻译成1 个java文件。 b 静态包含可以确定被包含文件内容的位置。动态包含的内容放在响应流的头。 c 被静态包含的文件可以添加声明,被动态包含的文件添加的声明无法在主文件中调用。 10、cookie 和session的异同!!! 相同点:都是状态保持技术;都在客户端保存cookie. 不同点:a cookie技术服务器没有分配内存,session分配内存。 b 浏览器重开或者多个浏览器可以共用1个cookie,而session不行。 c cookie只能保存字符串,session可以保存Object。 选用原则:尽量用cookie保存数据,session仅用来保存与网站用户有关的信息。 11、el表达式和jsp表达式的异同。 相同点: a 都对jsp中脚本代码的简化。 b 都是成为输出内容 不同点:a jsp中可以调用对象方法,el表达式不能调用方法 b jsp可以访问对象公开的成员,el表达式只能访问被get方法公开的属性。 c jsp允许对字符串进行相加,el表达式只能对数值型常量进行相加 12、ajax--2005推出。asynchronized javascript and xml技术。异步脚本交互。 作用:提高web程序的用户体验。 应用场合:a 输入框智能提示 b 用户名异步验证 c 多个下拉列表的联动 d 优化多实体展现页面的加载 ajax是前端和后端的综合技术。 三、 Java类 1、 谈谈final, finally, finalize的区别。 finally中如果调用return 语句返回新值,新值会代替原来的返回值作为函数的 返回。 2、 String s = new String("xyz");创建了几个String Object? 答案:两个,一个是字符串字面量"xyz"所对应的、驻留(intern)在一个全局 共享的字符串常量池中的实例,另一个是通过new String(String)创建并初始化的、 内容与"xyz"相同的实例 3、 error和exception有什么区别? 基类为:Throwable(可抛出的东西). 子类:Error(错误。属于比较底层的严重错误:内存不足。堆栈溢出等等). 一般比较难于被捕获,或是捕获后程序比较难于继续执行。 Exception(异常。可以被捕获,捕获后程序可以继续健康的执行)。 Exception:RuntimeException,IOException,SQLException,ClassNotFoundExceptio n.RuntimeException:NullPointerException,NumberFormatException,ArrayIndexOu tOfBoundsException, ArithmeticException,ClassCastException(类型强制转换错误) 4、 abstract class和interface有什么区别? 抽象类 vs 接口: a 抽象类可以有非final的属性,接口只能有static final 的 常量。 b 抽象类可以具有被实现的方法,接口只能声明方法不能实现方法 c 抽象类是“类”,是is a的含义。接口是“功能规格”,是 has a的含义。 5、 接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继 承实体类(concrete class)? 6、 try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会 被执行,什么时候被执行,在return前还是后? 7、 什么时候用assert, 8、 GC是什么? 为什么要有GC? 9、 是否可以继承String类? 10、 构造器Constructor是否可被override? 11、 实现多线程有哪些方法,请列举出 12、 HashMap和Hashtable的区别是什么, HashMap :key不允许重复.value允许。key和value都允许null. HashTable:a 不允许key为null。b 加入多线程同步的支持,比较安全。 、 什么是Web容器? 13 a 所有的web资源都需要部署在web服务器才能被其他机器访问。 本机可以使用 file://访问html。 b 编译并解释动态网页==》生成html 14、 解释下面关于J2EE的名词:JNDI、JMS、JTA、JAF、RMI 四、 软件工程类(第一个为必答题,后两个选一做答) 1、 项目的软件开发周期一般会经历哪些阶段,测试一般有哪些测试,分别对应软 件过程的哪个阶段, 2、 什么是原型化开发方法,原型分为哪几种,你在项目中进行原型化开发是如 何进行的,以自己的体会做答, 3、 敏捷软件开发与传统的软件开发过程有何区别,各有什么优缺点,分别适用 于什么样的项目,并以自己的项目经验浅谈体会, 五、数据库类 为管理岗位业务培训信息,建立3个表: S (S#,SN,SD,SA) S#,SN,SD,SA 分别代表学号、学员姓名、所属单位、学员年龄 C (C#,CN ) C#,CN 分别代表课程编号、课程名称 SC ( S#,C#,G ) S#,C#,G 分别代表学号、所选修的课程编号、学习成绩 问题: 1、 使用标准SQL嵌套语句查询选修课程名称为’税收基础’的学员学号和姓名 2、 使用标准SQL嵌套语句查询选修课程编号为’C2’的学员姓名和所属单位 3、 查询选修了课程的学员人数 4、 查询选修课程超过5门的学员学号和所属单位 六、编程类 1、 写一个Singleton出来 2、 指出下面程序的运行结果 class A{ static{ System.out.print("1"); } public A(){ System.out.print("2"); } } class B extends A{ static{ System.out.print("a"); } public B(){ System.out.print("b"); } } public class Hello{ public static void main(String[] ars){ A ab = new B(); ab = new B(); } } 七、数据库设计题(设计类岗位必答题,其它岗位非必答师) 要求开发一个学生课程管理系统,场景描述如下: 此系统用于进行学生的授课情况管理,其中每个学生每学期都有多门课程要学习,而每个老师每学期也有多门授课 计划 项目进度计划表范例计划下载计划下载计划下载课程教学计划下载 ,一个老师在具体的一个授课地点完成对一批学生的某门课程的授课任务。现要求根据这个应用场景用物理数据模型(或ER图)进行数据库的设计,要求达到第三范式。其中包括的对象有:学生、老师、课程、授课、授课地点、班级、学期 八、需求 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 类(偏分析类必答题,其他岗位非必答)(此题为半小时,单独计算时间) 一个超市想开发一个关于进货补货的软件。其过程是: 有人专门负责查看哪些需要进货,发布进货的命令,然后货物送到各个超市后给发货厂商(Vendor)付钱;然后货物上架;消费者(customer)从货架上取下挑选的货物(goods),并且在收银处付钱,拿走货物,仓库管理员负责统计货物的变化,然后保证随时货物都是在平衡状态,其中涉及的元素有: GOODS, Vendor, customer, accounting, owner, 补货, 计算成本,定价,付钱。根据这些描述,请将下图填写完整。
本文档为【java软件工程师面试题】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_348501
暂无简介~
格式:doc
大小:38KB
软件:Word
页数:9
分类:
上传时间:2017-10-09
浏览量:42