Java研发方向如何准备BAT技术面试

最近BAT等各大互联网巨头们的校招陆陆续续都准备开始了,可能对于在校的大多数学生来说,不知道如何正确衡量自己掌握的技术,更不知道BAT这样的公司会要求自己必须具备什么样的技术能力。对于Java研发方向的技术面试,这里总结了一些你必须要掌握的技术知识点,考察的内容会比这里总结的多,所以如果想要有一个很不错的offer,下面的知识点需要都具备。社招考察的内容会在此基础上增加项目经验、技术实战经验、热门技术的使用及理解。欢迎关注Java技术分享微信公众号:JavaQ,获取更多精彩技术分享。

Java基础:

面向对象和面向过程的区别

Java的四个基本特性(抽象、封装、继承,多态)

Overload和Override的区别

构造器Constructor是否可被override

访问控制符public,protected,private,以及默认的区别

是否可以继承String类

String和StringBuffer、StringBuilder的区别

hashCode和equals方法的关系

抽象类和接口的区别

自动装箱与拆箱

什么是泛型、为什么要使用以及泛型擦除

Java中的集合类及关系图

HashMap实现原理(看源代码)

HashTable实现原理(看源代码)

HashMap和HashTable区别

HashTable如何实现线程安全(看源代码)

ArrayList和vector区别(看源代码)

ArrayList和LinkedList区别及使用场景

Collection和Collections的区别

Concurrenthashmap实现原理(看源代码)

Error、Exception区别

Unchecked Exception和Checked Exception,各列举几个

Java中如何实现***机制(JDK、CGLIB)

多线程的实现方式

线程的状态转换

如何停止一个线程

什么是线程安全

如何保证线程安全

Synchronized如何使用

synchronized和Lock的区别

多线程如何进行信息交互

sleep和wait的区别(考察的方向是是否会释放锁)

多线程与死锁

如何才能产生死锁

什么叫守护线程,用什么方法实现守护线程

Java线程池技术及原理

java并发包concurrent及常用的类

volatile关键字

Java中的NIO,BIO,AIO分别是什么

IO和NIO区别

序列化与反序列化

常见的序列化协议有哪些

内存溢出和内存泄漏的区别

Java内存模型及各个区域的OOM,如何重现OOM

出现OOM如何解决

用什么工具可以查出内存泄漏

Java内存管理及回收算法

Java类加载器及如何加载类(双亲委派)

xml解析方式

Statement和PreparedStatement之间的区别

JavaEE:

servlet生命周期及各个方法

servlet中如何自定义filter

JSP原理

JSP和Servlet的区别

JSP的动态include和静态include

Struts中请求处理过程

MVC概念

Spring mvc与Struts区别

Hibernate/Ibatis两者的区别

Hibernate一级和二级缓存

Hibernate实现集群部署

Hibernate如何实现声明式事务

简述Hibernate常见优化策略

Spring bean的加载过程(推荐看Spring的源码)

Spring如何实现AOP和IOC

Spring bean注入方式

Spring的事务管理(推荐看Spring的源码)

Spring事务的传播特性

springmvc原理

springmvc用过哪些注解

Restful有几种请求

Restful好处

Tomcat,Apache,JBoss的区别

mem***d和redis的区别

有没有遇到中文乱码问题,如何解决的

如何理解分布式锁

你知道的开源协议有哪些

json和xml区别

设计模式:

设计模式的六大原则

常用的设计模式

用一个设计模式写一段代码或画出一个设计模式的UML

如何理解MVC

高内聚,低耦合方面的理解

算法:

深度优先、广度优先算法

排序算法及对应的时间复杂度和空间复杂度

写一个排序算法

查找算法

B+树和二叉树查找时间复杂度

KMP算法、hash算法

常用的hash算法有哪些

如何判断一个单链表是否有环?

给你一万个数,如何找出里面所有重复的数?用所有你能想到的方法,时间复杂度和空间复杂度分别是多少?

给你一个数组,如何里面找到和为K的两个数?

100000个数找出最小或最大的10个?

一堆数字里面继续去重,要怎么处理?

数据结构:

队列、栈、链表、树、堆、图

编码实现队列、栈

Linux:

linux常用命令

如何查看内存使用情况

Linux下如何进行进程调度

操作系统:

操作系统什么情况下会死锁

产生死锁的必要条件

死锁预防

数据库:

范式

数据库事务隔离级别

数据库连接池的原理

乐观锁和悲观锁

如何实现不同数据库的数据查询分页

SQL注入的原理,如何预防

数据库索引的实现(B+树介绍、和B树、R树区别)

SQL性能优化

数据库索引的优缺点以及什么时候数据库索引失效

Redis的存储结构

网络:

OSI七层模型以及TCP/IP四层模型

HTTP和HTTPS区别

HTTP报文内容

get提交和post提交的区别

get提交是否有字节限制,如果有是在哪限制的

TCP的三次握手和四次挥手

session和cookie的区别

HTTP请求中Session实现原理

redirect与forward区别

DNS

TCP和UDP区别

安全:

如果客户端不断的发送请求连接会怎样

DDos攻击

DDos预防

那怎么知道连接是恶意的呢?可能是正常连接

其它:

说一个你参与的项目、其中作为什么角色

遇到最困的问题是什么,怎么解决的

你认为自己有那些方面不足

平常如何学习的

如何评价自己

智力题:

给你50个红球和50个黑球,有两个一模一样的桶,往桶里放球,让朋友去随机抽,采用什么策略可以让朋友抽到红球的概率更高?

从100个硬币中找出最轻的那个假币?

     以上这些考察的知识点,在强大的互联网上都可以搜索到答案,有些答案可能不是很全,所以需要自己去总结,但是对于一些需要知道原理的知识点,还是推荐看源代码或者对于的书,然后总结得到自己的东西,这样既学到真东西,还不会很容易忘。Java基础的知识点推荐《Java编程思想》,JVM的推荐《深入理解Java虚拟机》,Spring原理的推荐《Spring源码深度解析》,对于网站架构的推荐《大型网站技术架构核心原理与案例分析》。欢迎关注Java技术分享微信公众号:JavaQ,获取更多精彩技术分享。
原文链接:http://www.jianshu.com/p/05f42258850b
#阿里巴巴##腾讯##百度##美团##Java工程师#
全部评论
答案(上):https://mp.weixin.qq.com/s?__biz=MzI0NjUxNTY5Nw==&mid=2247483680&idx=1&sn=18f3afce0929130b7ba6ab0b74bd4206&scene=1&srcid=0901MjK41tF8e6Dk30pSbF2N&key=7b81aac53bd2393dd3e8ead4510265fc833519920ac4443fe704df98059e679b2e0c8cd5ec74ec49e9b150cf3cc1ad96&ascene=0&uin=MjczNjkwMTMyMw%3D%3D&devicetype=iMac+MacBookPro11%2C2+OSX+OSX+10.10.5+build(14F27)&version=11020201&pass_ticket=tD%2FZFnUCsd9GuI%2FwR3OuTj6dgv%2BrP0ZDqa2LKd5D4iuFpCtX3iR9fHAaTZzIY4Rb 答案(中):https://mp.weixin.qq.com/s?__biz=MzI0NjUxNTY5Nw==&mid=2247483720&idx=1&sn=62049558dd5bc0df04f28cd6555189fc&scene=1&srcid=09019Re7xmXbEb12Njbs9LSe&key=7b81aac53bd2393d1aa015bf218c8ed08bfa19d107066df349cc4e3412a0e2dee6ac797dd2353b06c45b7f5bf8d490af&ascene=0&uin=MjczNjkwMTMyMw%3D%3D&devicetype=iMac+MacBookPro11%2C2+OSX+OSX+10.10.5+build(14F27)&version=11020201&pass_ticket=tD%2FZFnUCsd9GuI%2FwR3OuTj6dgv%2BrP0ZDqa2LKd5D4iuFpCtX3iR9fHAaTZzIY4Rb 答案(下):https://mp.weixin.qq.com/s?__biz=MzI0NjUxNTY5Nw==&mid=2247483741&idx=1&sn=1ed794c14d3011796694329e9c960f98&scene=1&srcid=0901v7zUpWC7GDICMjbUfHJZ&key=7b81aac53bd2393de541ef9d4f41207770d76604f3092de596e20eb7bc07c20a292293f10016ec4d7d924bc79a5c5afc&ascene=0&uin=MjczNjkwMTMyMw%3D%3D&devicetype=iMac+MacBookPro11%2C2+OSX+OSX+10.10.5+build(14F27)&version=11020201&pass_ticket=tD%2FZFnUCsd9GuI%2FwR3OuTj6dgv%2BrP0ZDqa2LKd5D4iuFpCtX3iR9fHAaTZzIY4Rb
点赞 回复 分享
发布于 2016-09-01 09:07
好多同学在问有没有总结性的答案,好吧,后面我整理一下
点赞 回复 分享
发布于 2016-08-01 07:52
可以帮忙内推,截止到8月18哟
点赞 回复 分享
发布于 2016-07-31 20:09
原文地址:http://www.jianshu.com/p/05f42258850b
点赞 回复 分享
发布于 2016-07-31 19:42
谢谢分享
点赞 回复 分享
发布于 2016-08-22 16:36
BAT面试技巧,过五关斩六将,地址: http://mp.weixin.qq.com/s?__biz=MzI0NjUxNTY5Nw==&mid=2247483735&idx=1&sn=3019f38892279a00889e1a0d189f126c#rd
点赞 回复 分享
发布于 2016-08-21 17:14
抱歉,最近因为忙于工作,晚上抽空整理的,地址:http://www.nowcoder.com/discuss/6890?type=0&order=0&pos=5&page=1
点赞 回复 分享
发布于 2016-08-04 22:58
挺好哒!~
点赞 回复 分享
发布于 2016-08-01 16:48

相关推荐

评论
点赞
186
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务