• 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html
  • 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html

近3年BAT面试真题整理合集

技术杂谈 勤劳的小蚂蚁 4个月前 (02-06) 98次浏览 已收录 0个评论 扫描二维码

年后就是跳槽小高峰了,不少童鞋给我们私信要求整理一些面试精题。看在大家都这么喜欢我的份上今天给大家准备了一套java面试精选题。 Are you  ready? 

1.现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行?

这个线程问题通常会在第一轮或电话面试阶段被问到,目的是检测你对”join”方法是否熟悉。这个多线程问题比较简单,可以用join方法实现

2.用Java写代码来解决生产者——消费者问题。

与上面的问题很类似,但这个问题更经典,有些时候面试都会问下面的问题。在Java中怎么解决生产者——消费者问题,当然有很多解决方法,我已经分享了一种用阻塞队列实现的方法。有些时候他们甚至会问怎么实现哲学家进餐问题。

3.什么是原子操作,Java中的原子操作是什么?

非常简单的java线程面试问题,接下来的问题是你需要同步一个原子操作。

4.你将如何使用thread dump?你将如何分析Thread dump?

在UNIX中你可以使用kill -3,然后thread dump将会打印日志,在windows中你可以使用”CTRL+Break”。非常简单和专业的线程面试问题,但是如果他问你怎样分析它,就会很棘手。

5.什么是不可变对象,它对写并发应用有什么帮助?

另一个多线程经典面试问题,并不直接跟线程有关,但间接帮助很多。这个java面试问题可以变的非常棘手,如果他要求你写一个不可变对象,或者问你为什么String是不可变的。

6.SpringMVC运行原理

1. 客户端请求提交到DispatcherServlet
2. 由DispatcherServlet控制器查询HandlerMapping,找到并分发到指定的Controller中。
4. Controller调用业务逻辑处理后,返回ModelAndView
5. DispatcherServlet查询一个或多个ViewResoler视图解析器,找到ModelAndView指定的视图
6. 视图负责将结果显示到客户端

7.分布式Session框架

1. 配置服务器,Zookeeper集群管理服务器可以统一管理所有服务器的配置文件
2. 共享这些Session存储在一个分布式缓存中,可以随时写入和读取,而且性能要很好,如Memcache,Tair。
3. 封装一个类继承自HttpSession,将session存入到这个类中然后再存入分布式缓存中
4. 由于Cookie不能跨域访问,要实现Session同步,要同步SessionID写到不同域名下。

8. HashMap与HashTable的区别。

1、HashMap是非线程安全的,HashTable是线程安全的。
2、HashMap的键和值都允许有null值存在,而HashTable则不行。
3、因为线程安全的问题,HashMap效率比HashTable的要高。
数据库事务是指作为单个逻辑工作单元执行的一系列操作。


敲黑板:
通过上面的面试题来看,可以看出目前互联网公司面试考点为:
1.性能调优、算法数据机构
2.高并发下数据安全、接口冪等性、原子性等
3.分布式下协同、已经锁的处理
4.数据库的分库分表、项目之间的垂直拆分

出现频率高的技术点有:
1.HashMap
2.JVM
3.Dubbo
4.Mybatis
5.Zookeeper
6.http tcp/ip


丨极客文库, 版权所有丨如未注明 , 均为原创丨
本网站采用知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议进行授权
转载请注明原文链接:近3年BAT面试真题整理合集
喜欢 (0)
[247507792@qq.com]
分享 (0)
勤劳的小蚂蚁
关于作者:
温馨提示:本文来源于网络,转载文章皆标明了出处,如果您发现侵权文章,请及时向站长反馈删除。

您必须 登录 才能发表评论!

  • 精品技术教程
  • 编程资源分享
  • 问答交流社区
  • 极客文库知识库

客服QQ


QQ:2248886839


工作时间:09:00-23:00