2022年java开发工程师笔试题 .pdf

上传人:Che****ry 文档编号:27253364 上传时间:2022-07-23 格式:PDF 页数:5 大小:82.78KB
返回 下载 相关 举报
2022年java开发工程师笔试题 .pdf_第1页
第1页 / 共5页
2022年java开发工程师笔试题 .pdf_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《2022年java开发工程师笔试题 .pdf》由会员分享,可在线阅读,更多相关《2022年java开发工程师笔试题 .pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、1-面向对象的特征有哪些方面?1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。 抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。 对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。3.封装:封装是把过程和

2、数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象, 这些对象通过一个受保护的接口访问其他对象。4. 多态性:多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。2-abstract class和 interface 有什么区别 ? interface 是接口,所有的方法都是抽象方法,成员变量是默认的public static final 类型。接口不能实例化自己。abstract class是抽象类,至

3、少包含一个抽象方法的累叫抽象类,抽象类不能被自身实例化,并用 abstract 关键字来修饰3-short s1 = 1; s1 = s1 + 1; 有什么错 ? short s1 = 1; s1 += 1;有什么错 ? s1 += 1 相当于 s1=s1+1; 系统默认1 是 int 型的s1 = s1 + 1; 就变成一个short 型和一个int 型相加类型不同肯定报错改为s1 =(short)( s1 + 1); 就可以了4-JSP的内置对象有哪些?jsp9 个常用的内置对象如下1.request 对象客户端的请求信息被封装在request对象中, 通过它才能了解到客户的需求,然后做出

4、响应。它是 HttpServletRequest 类的实例。2.response对象response 对象包含了响应客户请求的有关信息,但在JSP 中很少直接用到它。它是HttpServletResponse 类的实例。3.session对象session 对象指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。它是HttpSession 类的实例。4.out 对象out 对象是 JspWriter 类的实例 ,是向客户端输出内容常用的对象5.page 对象page 对象就是指向当前JSP 页面本身,有点象类中的this 指针

5、,它是java.lang.Object 类的实例。6.application 对象名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 5 页 - - - - - - - - - application 对象实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器的关闭, 在此期间, 此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中, 可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问。 服务器的启动和关闭决定

6、了application 对象的生命。 它是 ServletContext类的实例。7.exception 对象exception 对象是一个例外对象,当一个页面在运行过程中发生了例外,就产生这个对象。如果一个 JSP页面要应用此对象,就必须把isErrorPage 设为 true,否则无法编译。 他实际上是 java.lang.Throwable 的对象。8.pageContext 对象pageContext 对象提供了对JSP 页面内所有的对象及名字空间的访问,也就是说他可以访问到本页所在的SESSION,也可以取本页面所在的application 的某一属性值,他相当于页面中所有功能的集

7、大成者,它的本类名也叫pageContext。9.config 对象config 对象是在一个Servlet 初始化时, JSP 引擎向它传递信息用的,此信息包括Servlet 初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一ServletContext 对象)。MVC 模式的工作原理?MVC 是一个架构模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC 应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。5-HashMap 和 Hashtable 的区别?1 HashMap 不是线程安全的hastmap是一个接口是 map 接口的

8、子接口, 是将键映射到值的对象,其中键和值都是对象,并且不能包含重复键,但可以包含重复值。HashMap 允许 null key 和 null value ,而 hashtable不允许。2 HashTable 是线程安全的一个Collection 。HashMap 是 Hashtable 的轻量级实现(非线程安全的实现),他们都完成了Map 接口,主要区别在于 HashMap 允许空(null )键值(key),由于非线程安全,效率上可能高于Hashtable。HashMap 允许将 null 作为一个entry 的 key 或者 value,而 Hashtable 不允许。HashMap

9、把 Hashtable 的 contains 方法去掉了, 改成 containsvalue 和 containsKey 。 因为 contains方法容易让人引起误解。Hashtable 继承自 Dictionary 类,而 HashMap 是 Java1.2 引进的 Map interface 的一个实现 . 最大的不同是,Hashtable 的方法是Synchronize 的,而HashMap 不是,在多个线程访问Hashtable 时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。Hashtable 和 HashMap 采用的 hash/rehash算法都大概一

10、样,所以性能不会有很大的差异6-String 和 StringBuffer 的区别?8、说出 Servlet 的生命周期,并说出Servlet 和 CGI 的区别Servlet 的生命周期分为5 个阶段 : 实例化: Servlet 容器创建Servlet 类的实例。初始化:该容器调用init() 方法,通常会申请资源。服务:由容器调用service()方法, (也就是doGet()和 doPost()) 。破坏:在释放Servlet 实例之前调用destroy()方法,通常会释放资源。不可用:释放内存的实例。CGI(Common Gateway Interface 通用网关接口)程序来实现数

11、据在Web 上的传输,使用的名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 5 页 - - - - - - - - - 是如 Perl 这样的语言编写的,它对于客户端作出的每个请求,必须创建CGI 程序的一个新实例,这样占用大量的内存资源。由此才引入了Servlet 技术。Servlet 是一个用java 编写的应用程序,在服务器上运行,处理请求信息并将其发送到客户端。 对于客户端的请求, 只需要创建Servlet 的实例一次, 因此节省了大量的内存资源。Servlet在

12、初始化后就保留在内存中,因此每次作出请求时无需加载。7-简述 SSH 概念及原理?10、概述存储过程的优点和缺点及怎么优化存储过程?优点:1.由于应用程序随着时间推移会不断更改,增删功能,TSQL 过程代码会变得更复杂,StoredProcedure为封装此代码提供了一个替换位置。2.执行计划(存储过程在首次运行时将被编译,这将产生一个执行计划实际上是Microsoft SQL Server 为在存储过程中获取由T-SQL 指定的结果而必须采取的步骤的记录。 )缓存改善性能。.但 sql server 新版本,执行计划已针对所有T-SQL 批处理进行了缓存,而不管它们是否在存储过程中,所以没比

13、较优势了。3.存储过程可以用于降低网络流量,存储过程代码直接存储于数据库中,所以不会产生大量T-sql 语句的代码流量。4.使用存储过程使您能够增强对执行计划的重复使用,由此可以通过使用远程过程调用(RPC) 处理服务器上的存储过程而提高性能。RPC 封装参数和调用服务器端过程的方式使引擎能够轻松地找到匹配的执行计划,并只需插入更新的参数值。5.可维护性高, 更新存储过程通常比更改、测试以及重新部署程序集需要较少的时间和精力。6.代码精简一致,一个存储过程可以用于应用程序代码的不同位置。7.更好的版本控制,通过使用Microsoft Visual SourceSafe 或某个其他源代码控制工具

14、,您可以轻松地恢复到或引用旧版本的存储过程。8.增强安全性:a、通过向用户授予对存储过程(而不是基于表)的访问权限,它们可以提供对特定数据的访问;b、提高代码安全,防止SQL 注入(但未彻底解决,例如,将数据操作语言DML ,附加到输入参数) ;c、SqlParameter 类指定存储过程参数的数据类型,作为深层次防御性策略的一部分,可以验证用户提供的值类型(但也不是万无一失,还是应该传递至数据库前得到附加验证)。缺点:1.如果更改范围大到需要对输入存储过程的参数进行更改,或者要更改由其返回的数据,则您仍需要更新程序集中的代码以添加参数、更新GetValue() 调用,等等,这时候估计比较繁琐

15、了。2.可移植性差由于存储过程将应用程序绑定到SQL Server,因此使用存储过程封装业务逻辑将限制应用程序的可移植性。 如果应用程序的可移植性在您的环境中非常重要,则将业务逻辑封装在不特定于RDBMS 的中间层中可能是一个更佳的选择。3. 大量采用存储过程进行业务逻辑的开发致命的缺点是很多存储过程不支持面向对象的设计,无法采用面向对象的方式将业务逻辑进行封装,从而无法形成通用的可支持复用的业务逻辑框架。4.代码可读性差,相当难维护 . 二、查错题名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - -

16、 - - 第 3 页,共 5 页 - - - - - - - - - 1-abstract class Name private String name; public abstract boolean isStupidName(String name) 答案 : 错。abstract method 必须以分号结尾,且不带花括号2-public class Something void doSomething () private String s = “”;int l = s.length(); 答案 : 错。局部变量前不能放置任何访问修饰符(private,public ,和 protec

17、ted)。final 可以用来修饰局部变量(final 如同 abstract 和 strictfp,都是非访问修饰符,strictfp 只能修饰class 和 method 而非variable)。3-abstract class Something private abstract String doSomething (); 答案 : 错。 abstract的 methods不能以 private 修饰。abstract的 methods就是让子类implement( 实现)具体细节的,怎么可以用private 把 abstract method 封锁起来呢 ? (同理, abstrac

18、t method 前不能加final) 。4-public class Something public int addOne(final int x) return +x; 答案 : 错。 int x 被修饰成final ,意味着x 不能在 addOne method 中被修改5-public class Something public static void main(String args) Something s = new Something(); System.out.println(“ s.doSomething() returns ” +doSomething(); publ

19、ic String doSomething() return “ Do something ”; 三、设计题1-设计 4 个线程,其中两个线程每次对j 增加 1,另外两个线程对j 每次减少1。写出程序2-现在输入n 个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面显示按什么排序,结果为,提供reset 四、编程题1-写一个 Singleton 出来2-字符串的操作:写一个方法,实现字符串的反转,如:输入abc,输出 cba public class Exam 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名

20、师精心整理 - - - - - - - 第 4 页,共 5 页 - - - - - - - - - private static String f01(String a) String b = ; /将 String 转化为新数组char s = a.toCharArray(); for (int i = s.length - 1; i = 0; i-) b += si; return b; 3-写一个方法,实现字符串的替换,如:输入bbbwlirbbb ,输出 bbbhhtccc。Public void rep() String s =bbbwlirbbb; String n = s.rep

21、lace(wlirbbb,bbbhhtccc); System.out.println(n); 五、逻辑思维分析题1、一个小偷被警察发现。警察就追小偷,小偷就跑,跑着跑着,前面出现一条河,这河宽12 米,河在小偷和警察这面有棵树,树高 12 米,书上叶子都光了。小偷围着个围脖长6 米,请问小偷如何过河跑?2、烧一根不均匀的绳子要用一个小时,如何用它来判断半个小时?烧一根不均匀的绳,从头烧到尾总共要一个小时,现在有若干条材质相同的绳子,问如何用烧绳子的方法计时一个小时十五分钟呢?六、综合题1、请用不超过30 个字给出一个最能让我们录用你的理由2、如果我们录用你,你将怎样去开展工作3、当你与上级意见不一致的时,你将怎么办4、你对于开发这一职位加班有什么看法名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 5 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁