您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > java高级软件工程师面试题
java高级软件工程师面试题招聘java高级工程师,职位描述如下,有兴趣的加394504340交流,打扰了,谢谢!职位名称:java高级开发工程师(急)职位描述:互联网产品的开发和维护。职位要求:1.熟悉JAVA、J2EE体系结构,熟练掌握Spring、Struts、Hibernate、ibatis的开发技术。2.熟悉MySql等数据库开发,熟练掌握SQL语句,有较好的数据库设计能力。3.熟练掌握HTML、javascript、ajax等web开发技术,熟悉http协议。4.熟悉SVN、Maven、Junit等工具。5.具有良好的学习能力、沟通能力,乐于承担工作压力。6.有大型门户或社区网站开发经验者优先。职位所在城市:杭州职位所在行业:高科技-------------------------=========================================================1.说一下struts中常用的对象2.怎样整合apatche和tomcat3.说一下在linx系统中搭建服务器4.简述一下sqlserver建模5.请写一个程序,把一个10进制转换成16进制6.表student列idnameageWA(本科以上,大专,高中,初中以下)毕业学校ID,学校信息表问:统计出文化学历本科以上,大专,高中,初中以下,每个年龄各有多少人(一条SQL语句)7.有两位少年从隧道的一端向另一端行走.当他们走过隧道的五分之二时,发现隧道外面迎来一辆火车.火车很快就要进入隧道.两位少年向来时隧道跑去.两位少年都是每小时10公里.两位在千钧一发跑出了隧道.假设火车速度恒定,并且两位少年都在瞬间达到最大速度,请问火车的速度8.请写出常用的oracle语句及说明,存储过程的语句及说明---------------------------------------------------------------------------------------------------------------------------------几个JAVA高级软件工程师笔试面试题:一、tomcat有哪些性能调优方法,请举例说明?二、Spring中bean的作用域有哪些?三、struts2和struts1有哪些区别?四、JDK1.5相比于JDK1.4主要有哪些新特性?五、如何理解软件的模块独立性?六、如何设计实现外网数据库和内网数据库的数据交换?七、Spring最有用的功能是什么?举例说明IOC和AOP的作用。八、关于sql的面试题:sql语句性能调优的方法有哪些?九、关于sql的笔试题:假设有如下表:TABLE:testidab14221231343251561274-1812写一条SQL语句,选择所有a=1或b=2的记录,使得a=1且b=2的记录排在最前面,并且a=1且b=2的记录按id降序排列。1、类、对象的概念:1)类:具有共同属性和行为的对象的抽象。类是创建对象的模板。2)对象:现实世界中的实体。在计算机中,是指可标识的存储区域。3)类是对象的抽象、对象是类的实例。2、抽象:是从特定的实例中抽取共同性质形成一般化概念的过程。3、接口与抽象类:1)接口和抽象类都用于抽象,接口是抽象类的抽象。2)接口中只有方法声明,没有实现(无方法体);在接口中声明的方法具有public和abstract属性,一个类可以实现多个接口(即多继承),接口以‘,’分隔;接口中的方法必须全部实现。3)抽象类可以有部分方法实现,抽象类必须通过继承才能使用。4、内部类(InnerClass):1)内部类是嵌套在另一个类中的类。2)内部类用于名称隐藏和程序代码的组织,另外内部类拥有直接访问其外部类所有成员(包括private的)的权限(无需任何关键字修饰)。3)内部类不可以在其他类或main方法里实例化,必须使用如下方法(非静态内部类)外部类.内部类对象名=new外部类().new内部类();静态内部类调用方式:外部类.内部类对象名=new外部类.内部类();4)非静态内部类不可以声明静态成员;静态内部类的非静态成员可以访问其外部类的静态成员,声明为静态的成员不可以访问外部的非静态成员。5、访问修饰符限制:Privateprotectedfriendly(default)public同类YYYY同包不同类NYYY同包子类NYYY不同包不同类NNNY不同包子类NYNY6、Static关键字的使用:1)类成员,直接使用类名.成员调用。2)静态方法只能访问静态成员。3)静态方法不能使用this、super关键字。4)静态方法不能被非静态方法重写或重载。7、final关键字:1)被final修饰的变量为常量不能改变。2)被final修饰的方法不可以重写。3)被final修饰的类不能被继承。8、abstract关键字:1)被abstract修饰的类不能实例化。2)被abstract修饰的方法只能在子类中实现。9、native关键字:非Java语言的编写,例如JNI技术。10、synchronized关键字:多线程的同步访问控制。11、分类列举服务器和组件技术:1)服务器端技术:Jsp、Servlet;2)组件技术:JavaBean、EJB。12、Http与Https:Https即多了安全的Http,s(SecuritySocketLayer)指加密套接字协议层(简写SSL)。13、OSI(OpenSystemInterconnection)网络抽象模型:1)由国际标准化组织(ISO)提出。2)将互联网分为七层,从下至上分别为:物理层(physical)、数据链路层(datalink)、网络层(network)、传送层(transport)、会话层(session)、表示层(presentation)、应用层(application)。底层通过提供接口支持上层功能。各层详解:物理层:LAN/ATM,为硬件层。数据链路层:LAN/ATM网络层:IP协议,IOS传输层:TCP/UDP协议,支持JavaSocket。会话层:表示层:HTML、XML应用层:HTTP协议,使用JavaServlet/JSP第八层(Web服务层):SOAP/UDDI14、J2EE的容器与服务器:容器负责EJB组件中生命周期的控制;服务器包含在容器外,提供系统级操作底层服务,包括事务、事件、多线程……。15、继承限制:父类对象不可以赋给子类对象,因为子类可能具有更多的成员,反之可以。16、逻辑操作:c=(ab)?a:b;等同于下式if(ab)c=a;elsec=b;17、列举常见集合框架类型:1)List、Set、Map。由这三个接口实现出ArrayList、LinkedList、HashSet、TreeSet、HashMap、TreeMap等常用集合框架。2)Vector属于重量级组件不推荐使用。3)Map类型维护键/值对,Hashtable与HashMap相近但效率略低于HashMap、高于TreeMap,TreeMap优点是可以排序。4)Set类型可装入唯一值,HashSet效率高于TreeSet但TreeSet可以维护内部元素的排序状态。5)List类型可按某种特定顺序维护元素。ArrayList允许快速随机访问,但如果添加或删除位于中间的元素时效率很低;LikedList提供最佳循序访问及快速的中间位置添加删除元素,并有addFirst、addLast、getFirst、getLast、removeFirst、removeLast方法。18、面向对象的特征:1)继承:通过子类可以实现继承,子类继承父类的所有状态和行为,同时添加自身的状态和行为。2)封装:将代码及处理数据绑定在一起的一种编程机制,该机制保证程序和数据不受外部干扰。3)多态:包括重载和重写。重载为编译时多态,重写是运行时多态。重载必须是同类中名称相同参数不同(包括个数不同和类型不同),但返回类型不同不构成重载;重写发生于子类对父类的覆盖,子类继承父类方法名相同、参数列表相同、返回类型相同才构成重写。19、Java命名规范:必须以英文字母、下划线(’_’)或’$’开始,其余可以有数字但不允许包含空格,且组合后的名称不能是Java关键字或保留字。匈牙利命名法:以m开始为类成员变量,以g开始为全局变量,以v开始为本地局部变量,常量命名一般不以下划线、美元符开始。驼峰命名:一般称由多个单词或缩写组成的变量名,并且该变量名每个单词首字母均为大写(一般类名全部首字母大写,方法或属性名第一个字母小写)的称为驼峰命名。20、Java语言共包含47个关键字。21、设计模式:一个设计模式描述了一个被证实可行的方案。这些方案非常普遍,是具有完整定义的最常用的模式。一般模式有4个基本要素:模式名称(patternname)、问题(problem)、解决方案(solution)、效果(consequences)。常见23种模式概述:1)抽象工厂模式(AbstractFactory):提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。2)适配器模式(Adapter):将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的类可以一起工作。3)桥梁模式(Bridge):将抽象部分与它的实现部分分离,使它们都可以独立地变化。4)建造模式(Builder):将一个复杂对象的构建与它的表示分离,使同样的构建过程可以创建不同的表示。5)责任链模式(ChainofResponsibility):为解除请求的发送者和接收者之间耦合,而使多个对象都有机会处理这个请求。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它。6)命令模式(Command):将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可取消的操作。7)合成模式(Composite):将对象组合成树形结构以表示“部分-整体”的层次结构。它使得客户对单个对象和复合对象的使用具有一致性。8)装饰模式(Decorator):动态地给一个对象添加一些额外的职责。就扩展功能而言,它能生成子类的方式更为灵活。9)门面模式(Facade):为子系统中的一组接口提供一个一致的界面,门面模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。10)工厂方法(FactoryMethod):定义一个用于创建对象的接口,让子类决定将哪一个类实例化。FactoryMethod使一个类的实例化延迟到其子类。11)享元模式(Flyweight):运用共享技术以有效地支持大量细粒度的对象。12)解释器模式(Interpreter):给定一个语言,定义它的语法的一种表示,并定义一个解释器,该解释器使用该表示解释语言中的句子。13)迭代子模式(Iterator):提供一种方法顺序访问一个聚合对象中的各个元素,而又不需暴露该对象的内部表示。14)调停者模式(Mediator):用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式的内部表示。15)备忘录模式(Memento):在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到保存的状态。16)观察者模式(Observer):定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动刷新。17)原始模型模式(Prototype):用原型实例指定创建对象的种类,并且通过拷贝这个原型创建新的对象。18)代理模式(Proxy):为其他对象提供一个代理以控制对这个对象的访问。19)单例模式(Singleton):保证一个类仅有一个实例,并提供一个访问它的全局访问点。20)状态模式(State):允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它所属的类。21)策略模式(Strategy):定义一系列的算法,把它们一个个封装起来,并且使它们可
本文标题:java高级软件工程师面试题
链接地址:https://www.777doc.com/doc-6448072 .html