- 怎么判断一个点在三角形的内外上 (腾讯移动端)
 
- 求两个节点的父节点
 
- 简单计算机网络相关问题
 
- iBaits相比JDBC优势(头条后台)
 
- PrepareStatement相比statement优点
 
- TCP/IP\对应于OSI七层模型的哪些层
 
- 为什么三次握手,四次挥手
 
- 进程和线程区别
 
- 多线程什么情况下执行wait
 
- tomcat负载均衡
 
- Spring容器如何加载
 
- Servlet生命周期(什么时候destory)
 
- Mysql底层实现,B+树原理
 
- 10G数据,每一条是一个qq号,统计出现频率最多的qq号
 
- JVM新生代和老年代如何区分,新生代垃圾回收用什么算法,copy算法内存是怎么分的
 
- hashmap实现原理  拓展: Java中Map与HashMap,Hashtable,HashSet的区别
 
- 数组和链表的比较
 
- ArrayList和Linkedlist对比
 
- sleep和wait的区别
 
- string stringbuffer stringbuilder区别(搜狐后台)
 
- 单例模式是什么
 
- 垃圾回收算法
 
- 软件设计原则
 
- jdk serialVersionUID
 
- FutureTask类
 
- java的继承是怎么实现的
 
- null是不是object
 
- sleep和wait的区别
 
- TCP四次挥手状态变化?为什么存在TIME_WAIT(美团后台)
 
- ARP协议?什么是ARP欺骗?
 
- volatile关键字语义?
 
- 类加载机制?
 
- 静态代码块在什么时候执行?
 
- 堆的分代回收机制?老年代能否使用复制算法?为什么?
 
- 如何得知sql语句的效率?
 
- synchronized修饰静态方法和修饰非静态方法,有何区别?
 
- 拦截器与过滤器的区别(京东后台)
 
- springMVC和servlet 响应页面请求的区别
 
- session和cookie的区别
 
- get和post区别
 
- tomcat和Nginx?
 
- string stringBuilder StringBuffer 区别
 
- ArrayList和LinkedList分别有几种遍历方式
 
- ArrayList和LinkedList 中的快速失败(fail-fast)机制,(拓展问题:其中使用了什么锁:compareAndSwap;在拓展:锁是悲观锁还是乐观锁) 了解的锁的类型 可重入锁的实现(用计数器计算有几次上锁;拓展问题:这个计数器存储在什么位置)
 
- volatile作用(说了个可见性,他又说了重排序,不知道是啥)
 
- mysql实现索引(B树索引,hash索引,讲不出来了,就没细问)
 
- mysql事务隔离级别(4个) 1G内存,10G数据如何排序(分为10组分别排,再挨个取,类似归并)(我说的答案是堆排,就让我说了一下堆排的过程) 多线程有什么地方理解的比较深入的(随便讲了个,没刺激到他g点)
 
- 给定区间(a,b],去除区间里含有3、5、7的数字,还剩下多少(暴力)(头条后台三面)
 
- 满二叉树中插入一个新元素,使其仍然是满二叉树(层序遍历)
 
- 项目:如何判断对方已经关闭连接——检测心跳
 
- 为什么采用socket而不是http(socket长连接,http短链接,socket服务器可以主动发送数据,http服务器被动响应)
 
- epoll为什么采用边缘触发而不是水平触发
 
- springmvc理解 (搜狐媒体后台)
 
- 多线程理解
 
- 算法:链表逆置 二叉树中序遍历的非递归实现
 
- 2sum问题
 
- spring的理解
 
- restful的理解
 
- 从两个已经从大到小排好序的数组里面找第k大的数
 
- 二分查找
 
- web安全 - https加密过程,证书用途 - xss几种形式,防范手段,过滤哪些字符? - xsrf原理,实例,防范手段(Laravel的token) - Sql注入
 
- 性能优化 - 代码优化(html,css,js) - 网络性能优化: 1. Cache缓存之强制缓存和协商缓存 2. CDN原理及应用 3. HTTP压缩之gzip
 
- 上下文环境对象
 
- 设计模式(要求说出如何实现,应用,优缺点): - 单例模式 - 工厂模式 - 发布订阅模式
 
- 跨域(产生原因) - JSONP原理 - CORS如何设置 - Nginx代理
 
- 读过哪些框架源码?
 
- 如何写一个CSS库,要注意哪些东西?
 
- 乐观锁与悲观锁的理解(美团java一面)
 
- 自旋锁的理解
 
- tcp四次挥手
 
- tcp状态转化:close-wait是由哪个状态转化来的 time_wait呢
 
- 多叉树的层序遍历
 
- ConcurrentHashMap的理解
 
- 平常做项目的学习方法 自己觉得自己的优点和缺点是什么
 
- 前端框架jQuery有几种选择器(美团java二面)
 
- 如何利用springMVC注解取得前端传来的一个string类型的数据
 
- spring注解可以表示的参数
 
- springMVC 的dispatcherservlet是如何分发的
 
- MySQL的常用数据库引擎 innodb和myisam的区别
 
- MySQL索引
 
- maven如何解决依赖冲突
 
- restful接口设计风格的理解
 
- 斐波那契数列的非递归实现
 
- o(1)时间删除链表节点
 
- mysql的存储引擎(滴滴java)
 
- B树那一系列
 
- 分布式的高并发是怎么保证数据一致性的?
 
- select和epoll的区别
 
- 进程,线程,协程的区别
 
- IP地址的划分(子网掩码)
 
- 数据库各种join的区别
 
- 写一个生产者消费者模型
 
- java怎么实现单例
 
- protect的变量和方法能被继承吗
 
- 在浏览器输入地址后发生了什么
 
- udp和tcp的区别
 
- 线程进程的区别,线程是如何调度的
 
- delete、drop、truncate的区别
 
- 介绍几个排序算法的思想及其时间复杂度
 
- 数据库事务的概念、事务的实现原理
 
- Java和C语言的区别
 
- JVM内存机制、GC原理、哪些情况下会发生内存溢出错误
 
- Java锁机制,synchronized关键字
 
- 写代码表示线程安全的生产者消费者模型
 
- 用File类的delete()、list()、isFile()等方法,实现一个功能类似于Linux rm命令的方法
 
- left join、right join区别
 
- left join,right join和inner join的区别(宜信)
 
- 给一个字符串,求出相同最少的字母
 
- 黑盒测试
 
- hashmap死锁原因
 
- concurrenthashmap
 
- linux操作,sed,vim
 
- 复制一个数组
 
- volatile i++还是会出现写入脏数据
 
- linux查看进程
 
 
面经之有意思的问题
原文:http://www.cnblogs.com/fangpengchengbupter/p/7340585.html