转:大神提出来的java服务器方面面试问题(当作自己的学习目标平时得多注意)
因为一些个人原因,陆陆续续参加了一些校招补招、社招的笔试和面试(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面试中常问到的一些点,误区等等,适合基础入门用
阿里中间件官方博客 有蛮多框架上的东西和一些实际工作的经验总结,可以长长知识
还有好多个人收藏的网站,你们在搜索上面的知识点的时候差不多都能找到
转:大神提出来的java服务器方面面试问题(当作自己的学习目标平时得多注意)的更多相关文章
- 五月的仓颉大神写的 三年java程序员面试感悟 值得分享给大家
感谢 五月的仓颉 的这篇文章 , 让我重新认识到自己身上的不足之处 . 原文地址http://www.cnblogs.com/xrq730/p/5260294.html,转载请注明出处,谢谢! 前 ...
- web开发菜鸟应该如何向前端大神提问题(一次性把问题描述清楚)
1. 问题的环境和背景这里的背景一般包括,是针对桌面浏览器还是移动端开发?如果是桌面浏览器,则兼容性要求如何?比方说,你来咨询父级是百分比高度的垂直居中效果,你就要说明,你这个效果是需要兼容IE7+还 ...
- 面试大总结之二:Java搞定面试中的二叉树题目
package BinaryTreeSummary; import java.util.ArrayList; import java.util.Iterator; import java.util.L ...
- (转)面试大总结之一:Java搞定面试中的链表题目
面试大总结之一:Java搞定面试中的链表题目 分类: Algorithm Interview2013-11-16 05:53 11628人阅读 评论(40) 收藏 举报 链表是面试中常出现的一类题目, ...
- 珍藏多年的学习资料300G+,赶紧免费领取,从此离大神更进一步
将时间线拉到2014 2014年的寒冬,每天早晨六点钟,都会一个弱小的身影,从学校寝室出发,走在去实习公司的路上.经过食堂边的包子铺,他会顺手买两个包子,一杯豆浆,老板也会像往常一样热情的吆喝 ...
- 【同行说技术】iOS程序员从小白到大神必读资料汇总
在文章<iOS程序员从小白到大神必读资料汇总(一)>里面介绍了很多iOS入门学习的资料,今天小编就发几篇技术进阶的文章,快来看看吧! 一.iOS后台模式开发指南 这个教程会教你在什么时候怎 ...
- 【推荐】Java工程师如何从普通成为大神值得一读
本文源自 http://www.hollischuang.com/archives/489 一点感悟 java作为一门编程语言,在各类编程语言中作为弄潮儿始终排在前三的位置,这充分肯定了java语言的 ...
- java大神进阶之路
既然励志在java路上走的更远,那就必须了解java的路径.先看图 更加细化的细节如下 一: 编程基础 不管是C还是C++,不管是Java还是PHP,想成为一名合格的程序员,基本的数据结构和算法基础还 ...
- 一个4年工作经验的java程序员的困惑,怎样才能能为一个架构师,请教大神
一个4年工作经验的java程序员的困惑,怎样才能能为一个架构师 LZ本人想往架构师发展, 业余时间也会看一些书籍, 但是感觉没有头绪, 有些书看了,也没有地方实践 我做了4年的java开发, 在一个公 ...
随机推荐
- SVD的几何意义,以及在去噪,推荐系统中的应用
很多文章说到奇异值分解的时候总是大概罗列下它的功能,并没有对功能及物理意义进行过多的阐述,现在我来对奇异值进行整理一下. 一 奇异值分解 对任意的矩阵A∈Fmn,rank(A)=r(矩阵的秩),总可以 ...
- Bootstrap模态框按钮
1.触发模态框弹窗的代码 这里复制了一段Bootstrap模态框的代码 <h2>创建模态框(Modal)</h2> <!-- 按钮触发模态框 --> <but ...
- Java特性之多态父类与子类之间的调用
问题描述: Java三大特性,封装.继承.多态,一直没搞懂其中多态是什么,最近研究了一下,关于父类和子类之间的调用.下面是一个测试类,源代码如下: package com.test; public c ...
- 使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错。字符串的长度超过了为 maxJsonLength 属性设置的值。
解决办法是在web.config增加如下节点到<configuration>下 <system.web.extensions> <scripting> <we ...
- js 查找树节点 数组去重
//查找树节点function findData(curOrg, id) { var array = []; if ((typeof curOrg == 'object') && (c ...
- ElasticSearch+ElasticGeo+Geoserver发布ES地理数据
依赖GeoserverElasticSearchElasticGeo部署部署ElasticGeo使用创建ES数据源并发布发布 依赖 Geoserver 环境搭建参考: ElasticSearch 环境 ...
- markdown语法与使用
Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式. 语法 # 文本 =>h1标签 ##文本 =>h2标签 *文本* =&g ...
- Flask安装过程中“配置虚拟环境”步骤报错,找不到activate.bat
Run virtualenv venv --no-setuptools http://stackoverflow.com/questions/21826859/setting-up-a-virtual ...
- 教你怎么快速配置 React
导读 React 是一个构建用户界面的库,而它只是组成一个应用的一部分.应用还有其他的部分——风格.路由器.npm 模块.ES6 代码.捆绑和更多——这就是为什么使用它们的开发者不断流失的原因.这被称 ...
- gulp自动刷新和css、js压缩
之前搭建过Grunt,但是用起来有点繁琐,后来有人跟我说gulp更多简单.所以今天又搭建一个gulp.在使用gulp前应该有nodeJs环境,安装完nodejs后,就可以开始gulp的搭建了. 先新建 ...