因为一些个人原因,陆陆续续参加了一些校招补招、社招的笔试和面试(BAT),也包括一些国外公司(Spotify, Google, Ericsson),最后有幸被网易收入麾下,拿到了S。下面罗列一些我复习中的要点,如果能以此为一个参考,做好充足的准备,国内BAT这些公司的基础技术笔试和面试应该没什么问题。当然对于一些大公司,基础知识可能不是最被看重的,关键是学习能力,独立解决问题的能力,是否是一个"灵性"的人,我一直觉得我们程序员是在创造一个新的世界。

当然有一些技术老人,也可以看看这个,当作一个复习点,温故知新。

Java 常见基础知识面试点:

  • 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常见多线程面试点:

  • thread, start(), run()
  • 多线程里面的关键字,wait, notfiy, 锁(synchronized), lock接口
  • 线程状态,上下文切换,守护线程
  • 消费者和生产者的几种实现方式,优缺点
  • 进程间通信
  • 同步容器类,并发容器类之间的区别
  • 几个重要的数据结构,需要了解详细,最好能看过关键代码, copyOnWrite容器, ConcurrentHashMap
  • 信号量, CountDownLatch, CyclicBarrier等类的使用
  • 还有一些Future框架等等(这块我也知道的不多)

Java Web 方向的面试点:

  • Servlet init() service() post, get等方法区别
  • 重定向,请求转发,跨域什么的
  • Http各个端口号,返回码
  • Spring框架中的东西 spring MVC Spring web

Java高深一点的东西:

  • 反射机制
  • Java类加载机制,四种类加载器,加载过程,检查过程
  • 依赖注入
  • Spring框架
  • AOP面向切面编程

数据结构方向的面试点:

  • 数据结构,线性列表,二叉树,完全二叉平衡树,B+树,图的表示。
  • 树的先序,中序,后序,层序遍历。能手写代码,递归和循环实现。 栈的使用
  • 排序 常用的排序算法, 选择,冒泡,快排,堆排序,归并等。能手写代码,知道时间和空间复杂度,能做一些代码上的改进。
  • 动态规划和分治的区别,能根据题目想到这方面,简单的例子能写出来
  • 图的算法
  • 最好去leetcode上系统的刷一下题,不需要全部刷完,但是基本的类型都刷到,很有帮助,代码能力也能提高

 数据库方面的面试点:

  • MySQL数据库的几种引擎,不同数据库间的比较
  • 数据库的封锁协议,各种读写锁
  • Java里面的数据库连接,driver等等
  • SQL语句,insert,select, truncate, drop等
  • 索引,联合索引,自增主键的优劣。
  • NoSQL和MongoDB, Redis的概念,它的恢复机制,两种模式(内存快照和命令保存)

计算机网络和操作系统方面的面试点:

  • 拥塞控制,网络七层模型,各层各种应用,tcp/udp, IP,DNS, FTP. 举例访问网站经过的步骤等
  • 操作系统里面的内存替换算法,LRU等
  • 网络安全方向的,数据安全,数字签名等等

不错的网站介绍:

leetcode 刷算法题的好地方,但是现在题目越来越多了。都400多道了,看个人能力了

Simple Java 一个讲解Java面试中常问到的一些点,误区等等,适合基础入门用

阿里中间件官方博客 有蛮多框架上的东西和一些实际工作的经验总结,可以长长知识

还有好多个人收藏的网站,你们在搜索上面的知识点的时候差不多都能找到

2016年Java服务器端开发面试总结的更多相关文章

  1. java 软件开发面试宝典

    一. Java 基础部分........................................................................................ ...

  2. 百度基础架构组-实习生面试(2016.08 java后台开发)

    一.项目 1.Spring MVC与Struts2的区别: 2.MVC三层是如何工作的?比如:要访问一个Url?a=xx&b=xx,怎么找到相应的资源,怎么运算,怎么返回等? 3.数据库myb ...

  3. linux c++ 服务器端开发面试必看书籍

    摘自别人博客,地址:http://blog.csdn.net/qianggezhishen/article/details/45951095 打算从这开始一本一本开始看 题外话: 推荐一个 githu ...

  4. java高级开发面试总结

    Java高级工程师面试题总结及参考答案 (转载)博客原文链接:https://www.cnblogs.com/java1024/p/8594784.html 一.面试题基础总结 1. JVM结构原理. ...

  5. Java开发面试总结

    Java开发面试总结.. ----------------------- java 基础知识点这一块: 1.面向对象的三大特征.(继承,封装,多态) 1.1 在什么样的场合下面会使用到继承 1.2 什 ...

  6. Java NIO服务器端开发

    一.NIO类库简介 1.缓冲区Buffer Buffer是一个对象,包含一些要写入和读出的数据. 在NIO中,所有的数据都是用缓冲区处理的,读取数据时,它是从通道(Channel)直接读到缓冲区中,在 ...

  7. Android开发面试经——3.常见Java基础笔试题

      Android开发(29)  版权声明:本文为寻梦-finddreams原创文章,请关注:http://blog.csdn.net/finddreams 关注finddreams博客:http:/ ...

  8. java web面试技巧,数据库面试,java web轻量级开发面试教程

    我最近看到一本比较好的讲java web方面面试的书,java web轻量级开发面试教程. 其中不仅用案例和视频讲述了Spring MVC,Hibernate, ORM等方面的技巧,而且还实际讲到了面 ...

  9. java web方面的面试问题,Spring MVC方面的面试问题,摘自java web轻量级开发面试教程

    本文摘自java web轻量级开发面试教程: https://baike.baidu.com/item/Java%20Web%E8%BD%BB%E9%87%8F%E7%BA%A7%E5%BC%80%E ...

随机推荐

  1. spring注解 aop

    @Resource(name="as")  为空按类型装配 @autowired 按类型 @quafiler (name="xx") 按名称 spring继承关 ...

  2. 面向amd64的XXX与与项目的目标平台“x86”不兼容

    打开IIS服务器,选择应用程序池,设置中,有一个打开32位程序,选择FALSE,如果开启,在64位下就会出错.一般关闭

  3. requests高级用法

    会话对象 当你向同一主机发送多个请求时,session会重用底层的tcp连接,从而提升性能,同时session也会为所有请求保持 cookie. # _*_ coding: utf-8 _*_ imp ...

  4. 图像分割实验:FCN数据集制作,网络模型定义,网络训练(提供数据集和模型文件,以供参考)

    论文:<Fully Convolutional Networks for Semantic Segmentation> 代码:FCN的Caffe 实现 数据集:PascalVOC 一 数据 ...

  5. javascript生成对象的三种方法

    /** js生成对象的三种方法*/ // 1.通过new Object,然后添加属性 示例如下: var people1 = new Object(); people1.name = 'xiaohai ...

  6. php curl ftp上传 下载

    下载 //初始化 $ch=curl_init(); //文件的准确路径url curl_setopt($ch,CURLOPT_URL,"ftp://192.168.151.126/wwwro ...

  7. MSSQL和Oracle常用函数比对

    数学函数 序号 函数功能 SQL Server用法 Oracle用法 1 绝对值 select abs(-1) value select abs(-1) value from dual 2 取整(大) ...

  8. 微信开发之移动手机WEB页面(HTML5)Javascript实现一键拨号及短信发送功能

    在做一个微信的微网站中的一个便民服务电话功能的应用,用到移动web页面中列出的电话号码,点击需要实现调用通讯录,网页一键拨号的拨打电话功能. 如果需要在移动浏览器中实现拨打电话,发送email,美国服 ...

  9. 在Eclipse中使用JUnit4进行单元测试(中级篇)

    我们继续对初级篇中的例子进行分析.初级篇中我们使用Eclipse自动生成了一个测试框架,在这篇文章中,我们来仔细分析一下这个测试框架中的每一个细节,知其然更要知其所以然,才能更加熟练地应用JUnit4 ...

  10. day4 函数

    面向对象:-->类-->class面向过程:-->过程-->def函数式编程:-->函数-->def 函数是逻辑结构化和过程化的一种编程方法 使用函数的三大优点:减 ...