java面试总结

2019-04-16 23:45

任职要求: java

java面试宝典

精通java,熟悉socket和多线程开发,熟练掌握JSP、Servlet JDBC等相关技术,熟悉常用的数据模式

熟悉JVM性能调优(对JVM有一定的了解)

熟悉面向对象的系统分析、设计与编程思想了解设计模式、重构以及敏捷开发的基础知识 有敏捷开发和测试自动化经验者优先 框架

熟练使用主流来源框架,如Spring、struts2、mybatis、hibeenate,熟悉ssh、ssm框架集成 (使用过一种RPC协议、缓存技术)

能够熟练使用主流框架技术,包含:Spring Boot、Spring MVC 能够熟练使用主流框架技术,包含:Spring、Axon(CQRS) 熟练使用Springmvc+FreeMarker进行开发 数据库

熟悉关系型数据库,有redis等开源的NOSQL相关知识 能够熟练使用主流存储技术,包含:MySQL、MongoDB、Couchbase、Cassandra、Redis、FastDFS 熟练掌握MySql、Oracle等数据库,sql语言,索引、过程、触发器的使用,掌握pl/sql编程 熟悉mysql使用,有一定的sql优化,维护经验;熟练掌握SQL、存储过程、触发器、视图的编写

熟悉至少一种NoSQL数据库,如MongoDB、Memcached、Redis、HBase等 至少掌握Oracle、DB2、Sql Server三种数据库中的两种 了解Oracle,Sybase,DB2等数据库系统之一 熟练使用MsSql、MySql、Oracle中的一种数据库

掌握postgreSQL数据库的使用和开发,有相关数据库经验也可

熟练掌握常用sql,使用过sybase,sqlserver、mysql等主流数据中一种或几种

熟悉数据库建模,熟练使用Oracle、DB2、mysql数据库并进行调优熟悉设计模式和UML

数据库高并发

有数据库优化和设计经验(对软件系统的高性能、高并发、高可用等有了解和实践经验) (熟悉Linux/Nginx/haproxy负载均衡、反向代理等配置) 熟悉多线程及高性能的设计与编码及性能调优 Jquery

熟练使用HTML/XML、HTML5、CSS3、jquery、javascript、AJAX 、easyui、bootstrap等前端web应用程序开发技术

(掌握Ajax技术,熟悉jquery或Prototype应用) (了解前端dhtml技术,有一定js编程经验) 熟练使用js框架(extjs mootools) 熟悉Kendo UI开发者优先考虑。 服务器

熟练使用Aapache、tomcat、nginx等常见应用服务器,具有相关的部署和配置经验

(熟悉tomcat/Jetty/Jboss等主流服务器) 熟悉Tomcat、JBoss的配置和管理 (熟悉Tomcat等应用服务器,同时对在高并发处理情况下的负载调优有相关经验者优先考虑,具有分布式系统开发等方面经验者优先) 了解Tomcat,Jboss,Weblogic,Websphere等应用服务器中的两种以上 精通Tomcat、Apache、Nginx等多种开源服务器,熟练掌握至少2种应用服务器,如WebLogic、Tomcat、Resin、JBoss、WebSphere等; 至少熟练使用weblogic、websphere、resin、tomcat、Jboss五种中间件的三种 熟练掌握和使用apache、varnish、nginx、jetty、tomcat等应用服务 熟悉Java开发,对Weblogic、WebSphere App Server及WebSphere Portal Server中的至少一种以上 精通WebSphere、WebLogic、JBoss、Tomcat其中一到两种应用服务器,并具备服务器调优能力 工具 熟练掌握svn、git 、Ecplise、Maven等工具 熟练使用nodejs 能够熟练使用Eclipse、PowerDesigner、SVN或CVS等工具 熟练使用(My)Eclipse、NetBeans等开发工具并能够使PowerDesinger、Rational Rose进行设计工作 分布式工具 三年以上互联网产品开发经验,有海量数据存储、大用户量项目经验,有dubbo、thrift、zookeeper等分布式工具使用经验 建模工具 熟悉UML建模工具,能进行分析和设计 消息队列 熟练掌握和应用 acticemq、kafka、rocketmq等消息队列 Linux

基本Linux的使用(熟练在Linux下的开发与运行环境,有长期Linux使用经验者优先考虑) 熟悉OS原理,能使用linux/unix常用基本命令 结构算法 了解常用的数据结构和算法 架构 熟悉Dubbo,Zookeeper分布式架构,mysql集群,Lucene,solr全文检索 了解分布式架构、缓存、异步、消息系统等思想 大数据 熟悉hadoop生态系统,具备Hadoop/Storm等分布式计算平台的开发、运维经验者优先 了解Hadoop、Hive、HBase、Storm等相关技术基础,并能围绕展开开发工作 检索(电商) 了解Lucene全文检索机制,能参与到全文检索的开发 阿里云 有阿里云使用经验 能够熟练使用阿里云服务,包含:MQS、 SLS、ODPS、OAS等。

熟悉工作流、Auto、MQ

熟悉IM,websocket,XMPP,MQTT等即时通讯方面技术优先考虑

能够熟练使用主流队列技术,包含:ActiveMQ、RabbitMQ、kafka、Disruptor 能够熟练使用主流RPC技术,包含:Thrift、Dubbo

能够熟练使用主流通信技术,包含:Mina、Netty、Protobuf

资深java工程师

精通C++或java;能够在 Linux 系统上进行开发部署工作

精通 TCP/UDP 等常见协议,并具有丰富的网络服务器开发经验 熟悉代理服务器、负载均衡常用网络组件

熟悉常见的服务器开发模式,并精通其中的一种或多种

熟悉缓存/消息队列等常用中间件技术,并且熟悉常用的开源框架 能够带领团队设计、开发 10w 行以上代码的核心服务器

熟悉长期运行、高并发的 C++ 或java服务器的开发、部署、测试、排错等工作 熟悉至少一种网络协议栈,能够快速理解和开发新的协议栈 中等规模软件项目的规划和管理能力

自我评价: 有较好的沟通交流能力与抗压能力 学习能力强,拥有优秀的逻辑思维能力

性格开朗、善于沟通、有良好的学习能力、有良好的团队协作能力、较强的抗压能力、有良好的编码规范意识、勇于接受挑战、善于自我激励 职业规划 项目流程

*************JavaOOP******************

☆1.谈谈你对oop的理解,oop有哪些特性?各有什么特点? Java的三大特征[中科软科技有限公司]

oop :面向对象编程,oop有继承,多态,封装,抽象

继承 : 子类可以拥有父类的属性以及方法,也可以拥有自己的属性以及方法。 多态 : 父类的方法,子类有不同的实现方式 封装 : 将现实生活中具体的事封装成一个类。

抽象 : 使用private修饰属性和方法,对外提供公有的get和set方法 2、什么是方法重载和方法重写,有什么异同?

方法重载:同一类中,同名不同参 !方法名相同,参数列表不相同(个数 顺序),和访问修饰符 返回值类型 异常无关

方法重写:子类重写父类,同名同参数 !方法名相同,参数列表相同,访问修饰符大于等于父类 返回值和父类相关(基本数据类型等于) 异常是父类的子类或子集

3、抽象类和接口有什么异同?(面试) 抽象类 接口

抽象方法 0-多个 是 属性是静态 不一定 是 用途 给类继承 给类实现 构造方法 产生子类对象初始化父类属性 无

从语法角度上,接口是一种特殊的抽象类,但从设计角度理解而言是错误的 抽象类是父类的共同特征,是\中间产品\子类才是\最终产品\是子类是\的关系,既在概念上本质是一样的

接口表示一种约束和一种能力,是\a can do\的关系.接口定义\做什么\实现类负责\怎么做\体现是功能和实现相分离的原则

4、异常有哪几种类型,怎么自定义异常? RuntimeException Error CheckedException 继承Exception或子类 定义有参构造方法

在有异常的地方,throw异常

5、什么是多态?使用多态的两个前提条件?有哪两种表现形式和应用场合? 同一事物,有不同的表现形态...父类的方法,子类有不同的实现方式 前提: 继承 重写 表现形式:重载 重写 应用场合:方法形参 方法返回类型

6、什么是内部类?内部类有哪几种?有什么优缺点? 类中定义类 成员内部类 方法内部类 静态嵌套类 匿名内部类 优点:a.减少参数传递 b.封装(隐藏内部实现方法和细节) c.减少类文件 缺点:a.增加语法的难度 b.使结构复杂化

7、什么是构造方法,有什么作用,如何调用本类和父类的构造方法? 和类同名,无返回类型

初始化父类属性 this(参数) super(参数)

☆8、final、finally、finalize有什么异同? [上海优觉]

final 最终的 修饰属性表示常量 修改方法表示不能被重写 修饰类不能被子类继承 finally 异常中总会执行,除了System.exit(0) finalize 是Object类的一个方法,在垃圾收集器调用垃圾回收的此方法,会覆盖该方法提供的回收对象的其他资源

9、类和类之间有哪几种关系?面向对象设计原则有哪些? 类和类之间的关系:继承、实现、依赖、关联、聚合、组合 设计原则:

1.依赖倒置原则(面向接口编程)

2.迪米特法则 (尽量减少类和类之间的依赖) 3.接口隔离原则(一个接口只一个规定) 4.聚合/组合原则(尽量使用聚合组合关系) 5.里氏替换原则(慎用继承)

6.开闭原则(对扩展开放 对修改关闭) 7.单一职能原则 (一个类只做一件事情)

10、String和StringBuffer、StringBuilder的区别?[中软 上海优觉] 同:都是final类 异:

①String类是不可变字符串,可以像基本数据类型一样直接赋值(直接存放常量池), StringBuffer、StringBuilder是可变字符串,只能通过new产生对象

②StringBuilder是线程不安全的,用在字符串缓冲区被单个线程使用的时候,建议优先采用该类,因为在大多数实现中,它比 StringBuffer 要快。

11、如何区分运行时异常与检查异常,他们使用时有何区别?[中软]

RuntimeException及其所有子类都属于运行时异常,在程序中可以不用处理,直接由jvm处理,

检查异常必须在程序中处理。

12、static, abstract可以修饰什么,有什么作用?abstract可以和final共同修饰吗?

①static修饰变量、方法,在类加载的时候就会初始化,所有实例共享,可以用类名.属性、类名.方法名;

abstract修饰方法表示该方法没有具体实现,必须由其子类实现,修饰类表示该类为抽象类不能被实例化。

②他们不能共同修饰,因为abstract是代表抽象必须被实现,final代表终极的不能重写和继承。

13、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回


java面试总结.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2014-2020年中国彩色水泥市场调查与投资战略研究报告 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: