一.J2SE
1. I/O:将对象转换为文件实现什么接口;反射是哪一个类 有些什么方法 通过反射获取方法时,能获取private的方法吗?protected?
2. 集合框架:collection下面有什么;关于集合线程安全是如何实现的
3. arrayList和linkedList区别 ,vector和arraylist区别,
4. 数据结构:问了下二叉树,接着扩展到搜索二叉树,以及平衡二叉树,红黑树(真正的生产环境,用的是红黑树,因为可以自动调节到平衡二叉树)TreeSet,TreeMap以及内部的实现原理
5. HashMap和hashTable区别,结合hashmap源码分析hashmap;HashMap实现原理,数据结构,hash冲突解决;
6. jvm原理,解决并发问题(不在队和方法区分配);
7. Java类加载机制:classloader 堆栈区别,堆栈原理。 http://blog.csdn.net/zhoudaxia/article/details/35824249,http://blog.csdn.net/zhoudaxia/article/details/35897057
8. 垃圾回收机制工作原理当对象不再调用,就进行回收吗还是怎样 System.gc执行后,直接进行回收吗还是怎样
9. 抽象类和接口的区别(这里问得很细) 抽象类对于普通类的优缺点
10.分布式缓存,一致性HasH算法;
11.memcached原理流程,它的分布式算法,缓存策略,内存结构,以及应用场景,和redis的区别
12.算法快速排序
13.线程和进程的区别:
14.java事件监听机制的实现 --涉及源代码
15.LRU缓存算法
16.concurrentHashMap原理;hashmap和hashset的区别;(这里讲了下ConcurrentHashMap源码,及JAVA中锁的实现原理基于AQS,AQS原理,基于CAS实现)
17.gc算法,GC root,哪些可以作为GC root
18.怎样保证一个对象不会被回收
19.CMS收集器,标记流程
20.safepoint介绍
21.IO模型有哪些?
22.gc算法,回收器有哪些
23.ACID。事务隔离机制
24.ReentrantLock的源码实现. (AQS Sync两个重要的类)syn在方法上和代码块有什么不同
25.公平锁和非公平锁.
26.memcached和其他nosql不区别;分布式节点内部通信机制
27.threadlocal解释
28.volatile的作用及原理
29.堆和栈的区别和联系
30.数组和链表的区别
31.排序算法应用场景
32.lucene全文检索原理
33.SSO单点登录
34.说说对淘宝技术的了解
35.负载均衡算法有哪些
36.如何处理异常:线上服务端传输数据给pc,移动端,报错了的处理。。
37..类实例化的时候怎么被加载的(内部实现)
38.消息的可持久化 redis
39.消息队列 消息中间件
40.常见的页面静态化方式
41.介绍你常用的设计模式,及其用处
42. Ajax 跨域 jsonp comet
43.做server的swoole扩展。。
44.介绍异步io(aio)事件驱动
45.如何设计API , RESTful API
46.线程池框架源码
47.string,stringbuffer,stringbuilder的区别
48.Java注解
49.线程并发,同步异步MVP模式
50..Nginx 负载 , nginx内存池的实现,介绍反向代理的概念,负载常见算法,LVS与ngnix区别
51.负载多服务器之间如何通信。
52.网站高并发情况,你会怎么处理?(数据层,业务逻辑层)
53.对中间件的了解
54.了解过ACM吗?
55.了解NIO吗?说说有点
56.知道网络编程吗?说说分布式。
57.并发:常用的并发类,原子操作的那几个类AtomicInteger,还有volatile关键字是否能够解决并发问题
58.一个 -100.01的double 在内存中怎么存储的.一个中文String 在内存中占多少字节utf-8 / GBK
59.锁与synchronized区别.
60.简单的写了一个单例的程序.
二.J2EE
1. servlet:流程 ,服务器和session的联系,cookie和session的区别
2. springmvc:流程 处理请求是哪一个类,有些什么方法,它实现了什么接口
3. spring:两个特性解释,哪些地方用到aop声明式事务管理的步骤(每一步相关的类)
4. Struts2项目中浏览器客户端从发送request请求到后台服务器响应的整个流程,所用到的类
5. 传统的mvc框架,通过单一入口,如何加载所需控制器
6. JSP 9大内置对象
7. 什么是RPC框架,有什么优点
8. MyBatis和Hibernate的区别
9. Spring事务是怎么实现的
10.Struts框架的底层实现机制,
11.jsp从发起访问到浏览器渲染出页面的整个过程,以及在这个过程中tomcat所做的动作等。
12.Spring的aop,ioc怎么实现的,怎么读取配置文件的。
13.Hadoop
三.数据库
1. 数据库:分页的sql;left join和right join的区别
2. 数据库分表,分区
3. mysql方面的,引擎,如何建立适合的索引,热备
4. 对所用框架的model封装的看法
5. 事务 银行转账例子。。 a和b不在同一个库里面的事务设计。mysql怎么做。自己写代码怎么实现
6. 你是怎么设计数据库的
7. 数据库索引有哪些索引基于哪些类型实现
8. 你是怎么根据索引去数据库优化
9. mysql连接池作用,实现
10.分布式数据库怎么分表,用的什么中间价
11.MySQL:性能优化
A. 然后我跟他说了下explain,然后他就问我explain之后的结构,以及每个字段的意义,问了下varchar底层占用的字节长度,还有 int 10这中,后面的10 是什么意义,还有myisam 以及innodb存储引擎的区别,底层索引的数据结构。
B.简单的说了一下垂直分表,水平分表(有几种模运算),读写分离.
12.mysql查看状态的命令,查看执行计划的命令.
四.计算机网络与操作系统
1. tcp/ip区别 一个方法要同步怎么办 ,怎样实现线程
2. linux服务器项目如何部署,LINUX的ln、grep、AWK及常用命令
3. 不同操作系统实现进程怎么样
4. tcp和udp的不同之处
5. tcp如何保证可靠的
6. 浏览器输入www.baidu.com,整个流程
7. tcp三次握手,四次挥手
8. tcp滑动窗口解释
9. HTTP状态码
10.http中post和get区别
11.怎么预防死锁,出现死锁怎么解决
12.平时写struts2的话,是怎么开发的
13.servlet和jsp的区别
五.其他
1. 10只小白鼠,1000杯水,有一杯有毒,如何用比较好的方法找出,脑洞题,10和1000的数学关系。
2. 一个数组,无序的正整数,一个常量S,找出比S大的最短子序列
3. 两个有序数组,如何合并成一个新的有序数组
4. JTA实现原理(onepc two pcthree pc):二阶段提交出现的问题,就说了一下加入observe,,后面讨论了下二阶段提交的脑列问题
5. 讨论了支付宝抢红包的采取了哪些优化,事务基于几阶段提交...
6. 项目的特点,优化,遇到了什么问题,怎么解决的
7.两个数组一个100长度,一个101长度,前一个是后一个的子集。怎样找出多出的一个数
8. 看过哪些书籍,说说作者和书的名字
9. 二面主要考察分析和解决问题的能力。自我介绍时面试官让我着重介绍一下自己的优缺点。主要从简历上面的项目考察,拿一个具体的项目,问你在这个项目中遇到的最大的难题,怎么解决的。怎么和团队的开发进行协作的,出现分歧怎么解决(沟通交流啊~~)等。
10. 设计题。40亿qq号,20w/s QPS,设置怎么存储,怎么解决请求。单机是32G内存,1T硬盘,抗5w/s极限请求。特别想知道是怎么设置存储,减低存储量和怎么查找快(半个小时,在纸上画,还算这样设置占了多少内存,多少硬盘,数据结构是怎样的。。)
11. 字符串逆序
12. 平时看哪些书和博客,关注了哪些牛人的博客,看了哪些开源代码