Java面试题无答案
写在前面:这篇文章里面总结了很多
Java相关的知识,基本上应该算是每个Java程序员必须会的一些知识,所以,也就是很多面试官喜欢拿来考的一些东西。总结他们第一个目的是自己能够经常拿出来看一看,第二个也是可以给别人一些借鉴。为了方便,我把他们分了类,有一些是必看的,我用!标注,有一些进阶型的我用%标注,有一些需要了解的,我用?标注。
必会关键字
voidbyteintlongcharshortfloatdoubleStringStringBufferStringBuilderArrayCollectionCollectionsListArrayListLinkedListVectorSetHashMapTreeMapLinkedHashMapConcerrentHashMapSetTreeMapHashMapsynchronizedvolatiletransientimplementsextendspublicprivateprotectedthissuperstaticfinalconstnullrunstartthreadenmuquicksortmergesortheapsortbubblesortselectsortinsertsortstackqueuelistheaptreeavlTreeBtreeB+TreeRTreethrowthrowstrycatchfinallybreakcontinueinstanceof
计算机基础知识
数据结构
%1、队列、栈、链表、树、堆、图
!2、栈和队列的相同和不同之处
?3、栈通常采用的两种存储结构
!4、ArrayList,Vector,LinkedList的存储性能和特性
%5、各种树(平衡树,排序树,B树,B+树,R树,多路树,红黑树)
算法
?1、实现链表排序的一种算法。说明为什么你会选择用这样的方法?
!2、排序都有哪几种方法?请列举。
!3、各种排序算法的时间复杂度和稳定性
%4、字符串(单链表)逆序
!5、深度优先搜索和广度优先搜索
%6、使用栈实现链表/使用链表实现栈
%7、全排列、贪心算法、KMP算法、hash算法、海量数据处理
操作系统
?1、虚拟内存管理
?2、换页算法
?3、进程间通信
LINUX相关命令及操作
%1、Linux 一些基本命令,如看load,查看文件内容
%2、列出几个比较常见的命令,并解释下命令的用法
计算机网络
!1、tcp,udp区别
!2、HTTP请求和响应的全过程
!3、osi七层模型以及tcp/ip四层模型(每一层主要功能,传输的内容,主要协议,主要应用)
!4、三次握手,四次关闭,丢包,粘包,容量控制,拥塞控制
?5、子网划分
数据库相关
关系模型理论:
!1、
范式
?2、rownum和rowid的区别与使用
事务相关
%1、
Transaction有哪几种隔离级别?(Isolation Level)
?2、Global transaction的原理是什么?
!3、事务是什么?
并发控制
%1、
乐观锁,悲观锁
ORACLE或MYSQL题目
!1、
分页如何实现(Oracle,MySql)
!2、Mysql引擎
其它
%1、数据库操作的性能瓶颈通常在哪里, 1000万级别访问,在数据库和java程序上考虑哪些来进行性能优化
%2、性能方面。多数结合多线程、同步来问,以提取一张大表数据来作为例子 解决性能的方法
!3、表关联时,内连接,左连接,右连接怎么理解?
!4、Statement和PreparedStatement之间的区别
!5、用JDBC怎样从数据库中查询一条记录
%6、索引以及索引的实现(B+树介绍、和B树、R树区别
C语言基础
构造函数、析构函数
%1、为什么不要在构造器中调用虚函数
%2、为什么不要在析构函数中抛出异常
c++相关
!1、面向对象的三大基本特征,五大基本原则
%2、C++继承的内存布局
%3、C++多态的实现机制
!4、new、delete、malloc、free
其他
!1、为什么使用补码
%2、C语言中的内存泄漏
!3、进制转换
!4、自己编写strlen/strcpy/strcmp
一、Java基础
继承、抽象类与接口区别、访问控制(private, public, protected,默认)、多态相关
!1、
interface和abstrat class的区别
!2、是否可以继承多个接口,是否可以继承多个抽象类
%3、Static Nested Class和Inner Class的不同
!4、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
!5、abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized
!6、是否可以继承String类
!7、构造器Constructor是否可被override?
!8、作用域public,protected,private,以及不写时的区别?
collections相关的数据结构及API
!1、列举几个
Java Collection类库中的常用类
!2、List、Set、Map是否都继承自Collection接口?
!3、HashMap和Hashtable的区别
%4、HashMap中是否任何对象都可以做为key,用户自定义对象做为key有没有什么要求?
!5、Collection和Collections的区别
%6、其他的集合类:concurrenthashmap,treemap,treeset,linkedhashmap等。
异常体系
!1、
Error、Exception和RuntimeException的区别,作用又是什么?列举3个以上的RuntimeException
!2、Java中的异常处理机制的简单原理和应用
!3、内存溢出和内存泄露
其它
!1、
String和StringBuffer、StringBuilder的区别
!2、String s = “123”;这个语句有几个对象产生
!3、reader和inputstream区别
!4、==和equals的区别
%5、hashCode的作用
%6、hashCode和equals方法的关系
?7、Object类中有哪些方法,列举3个以上(可以引导)
!8、char型变量中能不能存贮一个中文汉字?为什么?
%9、了解过哪些JDK8的新特性,举例描述下相应的特性?
!10、Input/OutputStream和Reader/Writer有何区别?何为字符,何为字节?
!11、如何在字符流和字节流之间转换?
!12、启动一个线程是用run()还是start()?
%13、海量数据查询、存储
!14、switch可以使用那些数据类型
!15、多线程与死锁
%16、Java的四种引用
!17、序列化与反序列化
!18、自动装箱与拆箱
!19、正则表达式
JAVA开发工具、环境的使用
IDE、maven、svn/git、Linux、Firebug
二、 Java高级
多线程
!1、多线程的实现方式,有什么区别
%2、同步和并发是如何解决的
3、什么叫守护线程,用什么方法实现守护线程(Thread.setDeamon()的含义)
%4、如何停止一个线程?
!5、解释是一下什么是线程安全?举例说明一个线程不安全的例子。解释Synchronized关键字的作用。
!6、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?
内存结构,GC
!1、
gc的概念,如果A和B对象循环引用,是否可以被GC?
%2、Java中的内存溢出是如何造成的
%3、jvm gc如何判断对象是否需要回收,有哪几种方式?
?4、Java中的内存溢出和C++中的内存溢出,是一个概念吗?
!5、引用计数,对象引用遍历;jvm有哪几种垃圾回收机制?讲讲分代回收机制
CLASSLOADER
!1、
ClassLoader的功能和工作模式
NIO
?1、
IO和NIO本质不同在实际项目使用场景及如何使用
其它
?1、
hashcode有哪些算法
%2、反射,是否可以调用私有方法,在框架中的运用
?3、知道范型的实现机制吗?
?4、Socket编程通常出现的异常有哪些,什么情况下会出现
?5、了解JVM启动参数吗?-verbose -Xms -Xmx的意思是什么?
%6、StringBuffer的实现方式,容量如何扩充
%7、代理机制的实现
三、J2EE相关
Servlet的掌握,包括新的异步Servlet
!1、
Servelt的概念。常问http request能获得的参数
%2、servlet中,如何定制session的过期时间?
!3、Servlet中的session工作原理 (禁用cookie如何使用session)
!4、servlet中,filter的应用场景有哪些?
!5、描述JSP和Servlet的区别、共同点(JSP的工作原理)。
?6、JSP的动态include和静态include
!7、Servlet的生命周期
WEB框架的掌握(挑其掌握的一种)
!1、
Struts中请求的实现过程
!2、MVC概念
%3、谈一下自己最熟悉的web框架?然后就了解的web框架再深入下去
%4、Spring mvc与Struts mvc的区别 (什么是Mvc框架)
?5、Service嵌套事务处理,如何回滚
http相关(内部重定向,外部重定向),http返回码
!1、
session和cookie的区别
!2、HTTP请求中Session实现原理?
%3、如果客户端禁止Cookie能实现Session吗?
!4、httpget和post区别
!5、在web开发中,用redirect与forward做跳转有什么区别?web应用服务器对用户请求通常返回一些状态码,请描述下分别以4和5开头的状态码
spring,ibatis,hibernate相关
?1、
Hibernate/Ibatis两者的区别
?2、OR Mapping的概念
%3、hibernate一级和二级缓存是否知道
?4、使用hibernate实现集群部署,需要注意些什么
!5、Spring如何实现AOP和IOC的?
!6、Spring的核心理念是什么?是否了解IOC和AOP
!7、Spring的事务管理,Spring bean注入的几种方式
!8、SpringAOP解决了什么问题
jboss,tomcat等容器相关
?1、
Tomcat和weblogic的最根本的区别
?2、Jboss端口在哪个配置文件中修改
web安全,SQL注入,XSS, CSRF等
%1、
SQL注入SQL安全
AJAX相关
?1、
AJAX感受,有什么缺点?
%2、你使用的是Ajax的那种框架?
?3、Ajax如何解决跨域问题
Web services
?1、简述
WebService是怎么实现的
JMS
?1、
JMS的模式两种模式
其它
?1、
Js:confirm()方法
?2、Iframe的优缺点
%3、我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串?(主要是考量有没有碰到过编码问题,问题是如何解决的)
?4、怎么获取到客户端的真实IP?
?5、名词解释:jndi,rmi,jms,事务,如果有了解的话可以深入
?6、WEB层如何实现Cluster
四、面向对象
高内聚,低耦合方面的理解
?1、在项目中是否采用分层的结构,是怎样划分的,各层之间采用了哪些相关技术? 对哪些设计模式比较熟悉?
%2、什么是低耦合和高聚合?封装原则又是什么意思?
%3、类A依赖类B,会产生什么问题?怎样解除这种耦合?
设计模式方面
%1、谈一下自己了解或者熟悉的
设计模式
!2、Singleton的几种实现方式
?3、工厂模式和抽象工厂模式之间的区别
!4、简述M-V-C模式解决了什么问题?
其它
%1、说说你所知道的
UML图,在项目中是如何运用的
思维清晰水平考察
一、从基础知识里体现其思维清晰水平
参考问题
你知道设计模式吗?你用过哪些设计模式?在什么场合下用的? 你怎样保证你的代码可以处理各种错误事件? 判断依据是一定要有自己的思考和分析以及总结
二、多角度思考问题、系统而全面地分析各种事件,一定要有自己的判断 比如项目中用到哪些技术,并分析各种技术的优缺点,一定要有自己的思考和判断
三、针对项目情况,顺藤摸瓜,考察其项目的一些沉淀及思考。
简述一个你最有成就的项目(包括团队,自己在团队中的角色) 有没有比较棘手的问题 如何发现的问题(是否找问题的根源) 问题是否已经解决,是如何解决的 如果已解决,是否是你自己通过努力解决的,做了什么样的努力 如果未解决,原因是什么,你觉得怎么样可以比较好的解决掉这个问题 描述完毕以后针对未描述点询问,是否考虑的性能问题,是否考虑部署结构,有没有比较得意的设计之处 项目过程中的文档情况,你觉得那些还有那些文档没有建立,是有必要建立的。 作为负责人如何保证项目的质量,有了那些措施
四、出题,考验其思维推导的能力 例如:
估计一下杭州有多少软件工程师,如果允许,你还需要那些调研工作?并给出你的推导过程。 估算下淘宝的商品数,给出推导过程 如果让你做一个网站,如何估算网站的最大并发数
推荐阅读
程序员面试笔试宝典
Java编程思想
Effective Java
深入理解Java虚拟机
Java面试题无答案的更多相关文章
- 最常见的Java面试题及答案汇总(三)
上一篇:最常见的Java面试题及答案汇总(二) 多线程 35. 并行和并发有什么区别? 并行是指两个或者多个事件在同一时刻发生:而并发是指两个或多个事件在同一时间间隔发生. 并行是在不同实体上的多个事 ...
- 2018年最新Java面试题及答案整理(持续完善中…)
2018年最新Java面试题及答案整理(持续完善中…) 基础篇 基本功 面向对象特征 封装,继承,多态和抽象 封装封装给对象提供了隐藏内部特性和行为的能力.对象提供一些能被其他对象访问的方法来改变它内 ...
- 近5年常考Java面试题及答案整理(三)
上一篇:近5年常考Java面试题及答案整理(二) 68.Java中如何实现序列化,有什么意义? 答:序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化.可以对流化后的对象进行读写 ...
- 近5年常考Java面试题及答案整理(二)
上一篇:近5年常考Java面试题及答案整理(一) 31.String s = new String("xyz");创建了几个字符串对象? 答:两个对象,一个是静态区的"x ...
- 最常见的Java面试题及答案汇总(二)
上一篇:最常见的Java面试题及答案汇总(一) 容器 18. java 容器都有哪些? 常用容器的图录: 19. Collection 和 Collections 有什么区别? java.util.C ...
- java面试题及答案(转载)
JAVA相关基础知识1.面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时 ...
- java面试题及答案(基础题122道,代码题19道)
JAVA相关基础知识 1.面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分, ...
- Java面试题及答案(基础122道,编码19道)
JAVA相关基础知识1.面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时 ...
- java面试题及答案
JAVA相关基础知识1.面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时 ...
随机推荐
- sysbench 测试MYSQL
http://imysql.cn/tag/%E5%8E%8B%E6%B5%8B http://imysql.cn/node/312 https://www.percona.com/blog/2013/ ...
- 开源Word读写组件DocX介绍与入门
来源:http://i.cnblogs.com/EditPosts.aspx?opt=1 读写Offic格式的文档,大家多少都有用到,可能方法也很多,组件有很多.这里不去讨论其他方法的优劣,只是向大家 ...
- 剑客vs刀客 Java vs .NET
刀,无鞘的刀,重三十六斤六两三分,刀重而不大,重而不笨,千年寒铁精炼而成,刀身颀长,刀背轻薄,锋利异常,刀身桔黄色,隐隐泛着青色,刀面嵌龙凤图案,似龙吟,似凤鸣.刀柄带有两环,轻轻撞击会发出" ...
- getmask
#include "stdio.h" #include "stdlib.h" #include "string.h" #include &q ...
- 为Hadoop创建JAR包文件Creating a JAR for Hadoop
We've seen the internals of MapReduce in the last post. Now we can make a little change to the WordC ...
- rqnoj-208-奥运火炬到厦门-dp
这道题目是把一个连续的串看成一个环. 那么除了原始的求最大字段和外. 还存在一种情况是前面的连续最大值,加上后面的连续最大值. #include<stdio.h> #include< ...
- 操作系统概念学习笔记三 cpu调度算法
一 基本概念 1 队列中的记录通常是进程的进程控制块. 2 CPU调度决策可在如下四种环境下发生 a 当一个进程从运行状态切换到等待状态 例如,I/O请求或调用wait以等待一个子进程的终止 b 党一 ...
- metal2的四个新features
https://developer.apple.com/documentation/metal/mtldevice/ios_and_tvos_devices/about_gpu_family_4 Im ...
- HDU 2897 邂逅明下 (博弈)
题意: 给你n.p.q,每次操作是令n减小 [p, q]区间中的数,当n < p时必须全部取完了,取完最后一次的人算输,问先手必胜还是必败. 解题思路: 这种非常类似巴什博弈,可以找出必胜区间和 ...
- Hibernate之一对一关联映射
Hibernate中一对一关联映射共分为两种,一种是一对一主键关联映射,另一种是一对一唯一外键关联映射.下面简单介绍一下这两种关联映射. 一对一主键关联映射 一对一主键关联映射的两个实体有相同的ID. ...