[Java服务器端开发面试题] 服务器端开发面试题

  当然对于一些大公司,基础知识可能不是最被看重的,关键是学习能力,独立解决问题的能力,是否是一个"灵性"的人,我一直觉得我们程序员是在创造一个新的世界。下面就由小编为大家介绍一下Java服务器端开发面试题的文章,欢迎阅读。

  Java服务器端开发面试题篇1

  Hashcode()和equals(), 明白背后的原理,包括hashcode()的用法,各自的区别,如何,何时覆盖,为何覆盖

  区别new String()和"" 申明的字符串的区别,String不变量,堆上创建,何时栈上创建,传递变量时候的按值传递

  Comparable 接口,Comparator类,用来做比较,主要是用于集合中,排序,插入等等

  类初始化,变量初始化,静态变量,静态区,常量区等等

  继承多态需要知道的有super, this, 相应的可能涉及到的设计模式

  Java的内部类,有哪几种声明方式,有没有static的区别

  集合,collection,array。 set, list, queue这些接口间的区别,set不可重复, arraylist的实现和linkedlist的实现区别,HashMap, HashTable。涉及到各种效率问题等,里面最好阅读一下源码

  集合的遍历方法和使用iterator来遍历的区别,集合可否修改,能否删除其中的一个元素,然后size是否变化等等问题

  JAVA垃圾回收,内存结构

  异常的种类

  Object类,哪些方法

  文件读取, 字节流和字符流, 流的概念, reader, stream等; NIO(通道,缓冲区,选择器)

  Java服务器端开发面试题篇2

  thread, start(), run()

  多线程里面的关键字,wait, notfiy, 锁(synchronized), lock接口

  线程状态,上下文切换,守护线程

  消费者和生产者的几种实现方式,优缺点

  进程间通信

  同步容器类,并发容器类之间的区别

  几个重要的数据结构,需要了解详细,最好能看过关键代码, copyOnWrite容器, ConcurrentHashMap

  信号量, CountDownLatch, CyclicBarrier等类的使用

  还有一些Future框架等等(这块我也知道的不多)

  Java服务器端开发面试题篇3

  数据结构,线性列表,二叉树,完全二叉平衡树,B+树,图的表示。

  树的先序,中序,后序,层序遍历。能手写代码,递归和循环实现。 栈的使用

  排序 常用的排序算法, 选择,冒泡,快排,堆排序,归并等。能手写代码,知道时间和空间复杂度,能做一些代码上的改进。

  动态规划和分治的区别,能根据题目想到这方面,简单的例子能写出来

  图的算法

  最好去leetcode上系统的刷一下题,不需要全部刷完,但是基本的类型都刷到,很有帮助,代码能力也能提高