自己及同学的一些面经整理
一面(京东):
介绍自己,项目
1)线程创建方式、线程池、哪些参数?饱和策略?
2)哪些设计模式?Java里面用到了哪些设计模式?了解动态***模式么?
Java库中的设计模式:http://blog.jobbole.com/62314/
3)索引什么时候会失效?讲一个遇到过的索引优化的问题,怎么排查sql慢的问题?
4)手写一个栈,写的这个栈在高并发情况下有没有问题(答了ABA问题,我的是用链表实现的)?synchronized的用法,如果在方法上加锁,锁的是什么对象?如果是一个静态方法,锁的是什么?
5)集合?HashMap结构、ArrayList结构、LinkedList结构,优缺点。ArrayList怎么扩容?HashMap怎么扩容?红黑树是什么性质的树?
HashMap怎么从链表转换为红黑树?如果存入的是null键,放在桶的哪个位置?
做rehash的时候是怎么做的,元素的位置怎么移动的?
6)线程怎么等待,一个一个接一个运行。join的用法,什么方式让他们同步
7)CMS特点
8)垃圾回收算法有哪些?各自的优缺点,他们共同的缺点是什么?
9)了解分布式么
我继续问了是想要问数据库层面还是应用层面的,然后确认回答了数据库层面的
10)什么是正向***+反向***?(因为简历上写了)
https://www.zhihu.com/question/24723688
正向***隐藏了客户端
反向***隐藏了服务端
11)负载均衡算法有哪些?
12)了解Nginx的分流?(因为简历上写了)
http://colobu.com/2015/10/26/nginx-limit-modules/
13)git 基本命令
14)sleep和wait的区别,wait被唤醒之后线程是什么状态?
15)Hbase的作用(因为简历上写了)
16)MapReduce是什么思想
17)了解Spring么?MVC架构(没用过也没什么影响,讲出自己的观点也可以)
18)怎么优化大数据量的(数据库)
19)Master和Slave之间怎么通信的?(因为简历上写了)
20)map中key为null的时候放在桶数组的哪儿的?
21)什么是后台线程,后台线程的作用是什么?
21)有没有什么问题
二面(京东)
1、问项目
2、写sql
3、问了一下redis、分布式缓存、中间件(貌似比较看重这个,但是我并没有接触过)
4,是否关注一些技术?
5,怎么解决问题?
6,乐观锁和悲观锁(Java中)
7,为什么不在自己的团队中推广使用maven?
8,觉得git和svn的优势区别?
一面(京东)
1 深问项,占了一半时间
2 说tcp 三次四次握手
3 说mysql的myisam和innodb区别
4 说1.7 和1.8中 hashmap有啥区别
5 说京东物流的设计
6 问jvm调优经验(还好准备了,哈哈)
7 你的职业规划,开始聊人生
二面(京东)
1.手写数据库连接池
2.什么样的数据适合用缓存
3.一次web请求响应中,那个部分最耗时,tcp握手?业务逻辑处理?网络延迟?数据库查询?浏览器解析?
4.你有啥要问的
京东一面
spring框架的优点
ioc和aop
aop的应用场景
数据库乐观锁和悲观锁
索引失效
索引的结构
事务的隔离级别
快排的思想
bean的生命周期
jvm分区
jvm垃圾回收
eden区,survial区
cpu升高怎么检测
hashmap concurrenthashmap
判断链表是否成环
quartz怎么配置
京东二面
介绍项目
自己的有那些优点
hashmap扩容,数据结构,线程安全
currenthashmap什么情况下会将整个结构上锁
聊聊工作流
数据库引擎区别,索引的结构。
能不能去北京实习
平时在看什么书
腾讯一面:
1 聊项目
2 还有tcp三次握手和四次回收,各经历了什么阶段,发送了什么消息
3 常见的http返回状态码
4 说一说HTTPS
5 说一说***是怎么回事
6 有台机器,配置如下:8核CPU+8G内存+512G硬盘。需求如下:每***录100亿条日志数据,每条日志包括以下三项内容:uid timestamp description,要求统计每日访问次数排名在前100的用户的UID。(过程中询问了面试官uid范围多大,他说几十上百亿,可以理解为非常非常大)。
针对这个case,问:需要几台机器才能完成业务需求,为什么?怎么做?(我讲了文件根据UID的hash值分块,分成1000个小文件。然后在晚上的时候,挨个处理统计,用桶记录每个UID的访问量,然后求topK,给了两种算法去求。当时算错数了,说一台机子就可以完成,面试官问为什么,我就给他算了一遍。但是好像他并不会看我算得对不对,只看我解决问题的思路)
腾讯二面:
1 深问项目
2 hashmap和hashtable区别
3 TCP三次握手四次挥手
4进场线程区别
5 开启线程的方式
6 线程的状态有哪些
7 jvm内存回收
8 手写单例 解释为啥是线程安全
9 优先队列说一说 用过没
10 linux用得怎么样 学java多久了 c嘎嘎呢
11 你的优点和缺点(我的妈 这个贼难感觉...)
#面经##京东##秋招##Java工程师#