1介绍一下你自己吧 ——简单说说你的大学、专业、特长、志向
2你了解我们公司的工作吗?有兴趣吗?——对你要做的工作给出理解同时用事实说明自己有兴趣
3你经常到java论坛吗?最喜欢哪一个?——最好说CSDN和ITEYE,别人一听就知道你很有研究。
4你会考研吗?你怎么看待加班和跳槽?——看你是不是能在公司待下去,一定要说自己不考研,专心在公司好好干,踏实干,如果你说“人总是往高处走的”别人就怀疑你干一年就跳槽!
5剩下是我总结的经常出现的面试题,答案你可以在这里继续提问。
1 写出你最常用的5个类和5个接口。
2 写出你所知道的排序算法。并用Java实现一个快速排序。
3 实现4个线程,其中2个每次加1,另外2个每次减1。
4 写出你最常遇到的5个异常,并简单描述它们发生在什么情况下。
5 用单例模式实现一个线程池。
6 如何存储一个整数,这个整数的长度大于2的64次方。
7 写一段代码,当用户输入a,在屏幕上显示b,在D:\testtxt中写入c。
8 Swing组件用的进程条是什么类?
9 JSP里面哪个内置对象可以提交客户的请求?
10 什么是同步?实现线程同步的关键字是什么?如果已经出现死锁,你如何解决?
初级:《java编程思想第四版》
中级:《精通Spring 4X:企业应用开发实战》
中高级:《深入理解java虚拟机》、《spring cloud 微服务实战》
高级:《大型网站技术架构》
当然还有很多,这里是我个人的推荐
经过这么多年的开发,以及结合平时面试开发者的一些经验,我觉得对于J2SE方面主要就是要掌握以下的一些内容。
1JVM相关(包括了各个版本的特性)
对于刚刚接触的人来说,JVM相关的知识不一定需要理解很深,对此里面的概念有一些简单的了解即可。不过对于一个有着3年以上经验的资深开发者来说,不会JVM几乎是不可接受的。
JVM作为运行的基础,很难相信对于JVM一点都不了解的人可以把语言吃得很透。我在面试有超过3年经验的开发者的时候,JVM几乎就是一个必问的问题了。当然JVM不是唯一决定技术能力好坏的面试问题,但是可以佐证开发能力的高低。
在JVM这个大类中,我认为需要掌握的知识有:
JVM内存模型和结构
GC原理,性能调优
调优:ThreadDump,分析内存结构
class二进制字节码结构,classloader体系,class加载过程,实例创建过程
方法执行过程
各个大版本更新提供的新特性(需要简单了解)
2的运行(基础必备)
这条可能出看很简单,程序的运行谁不会呢?不过很多时候,我们只是单纯通过IDE去执行程序,底层IDE又是如何执行程序呢?很多人并不了解。
这个知识点是最最基本的开发者需要掌握的,初学,第一个肯定是教你如何在命令行中执行程序,但是很多人一旦把学完了,IDE用上了,就把这个都忘了。为什么强调要知道这个呢,知道了最纯粹的启动方式之后,你才能在启动出问题的时候,去分析当时启动的目录多少,执行命名如何,参数如何,是否有缺失等。这样有利于你真正开发中去解决那些奇奇怪怪的可能和环境相关的问题。
在这里需要掌握的知识有:
c编译文件为class文件
命令的使用,带package的类如何在命令行中启动
程序涉及到的各个路径(clasth,。library。path,运行的主目录等)
3数据类型
这条没有什么好多说的,无非就是中的基本类型和对象类型的掌握。北京IT培训建议可以再了解一些JDK如何自动转换方面的知识,包括装箱拆箱等,还要注意避免装箱之后的类型相等的判断
主要知识点:
基本类型:int,long,float,double,boolean,。。。
对应的对象类型:Integer等类型到基本类型的转换,装箱和拆箱
Object类型:equals,hashcode
String类型的特点
以上就是关于求java工程师面试题全部的内容,包括:求java工程师面试题、面试官问java面试题有看过那些java书和技术,怎么回答、北京IT培训分享Java知识点整理归纳等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)