百度高级java工程师面试实拍59题:高并发+中间件+分布式架构!

百度高级java工程师面试实拍59题:高并发+中间件+分布式架构!

Java面试题目:

  1. Java读取一个文件, 有哪些方法, 考虑性能, 用哪一个类
  2. BIO, NIO, AIO区别
  3. Java 类加载机制
  4. 为什么使用双亲委派模型
  5. NIO的组件, Selector
  6. 什么是序列化, IO的序列化方式, 为什么需要序列化(包括在网络传输的情况下)
  7. Error和Exception区别
  8. RuntimeException和非RuntimeException区别
  9. 什么叫线程安全, 保证线程安全的方法
  10. 加锁的方式, synchronized作用在方法上和代码块区别
  11. synchronized(this)和synchronized(Xx.class)区别

Web方面:

  1. Spring AOP实现原理
  2. 一个页面, 一个提交按钮, 如何防止重复提交, 我说验证码, 还有
    其它方式吗?
  3. ajax实现跨域请求(前端或者后台实现方法)
  4. cookie和session区别
  5. forward和redirect区别

数据库

  1. 你建过索引吗? 建索引的原则
  2. 索引的类型, 如主键索引
  3. 查看SQL执行计划
  4. 有十万条数据, 写SQL语句查询其中某字段较大值的几条数据
  5. 子查询与关联查询的区别

JVM

  1. 你用过的JVM命令有哪些
  2. 如果一个程序发生OOM, 该怎么处理
  3. JVM内存模型
  4. JDK7与JDK8的JVM内存模型区别
  5. 回收算法
  6. 回收器
  7. 虚拟机client和server的区别
  8. 对象和引用之间一般用什么连接?句柄池的作用是什么。

网络:

  1. HTTP1.0与HTTP1.1区别
  2. TCP与UDP区别

容器方面

  1. 介绍线程安全的list(copyonwritelist)
  2. 线程安全的map,具体是怎么实现的,与Hashtable什么区别。
  3. CAS

并发

  1. 知道的线程池(ThreadPoolExecutor属于一类,forkjoin知道吗)
  2. 线程池怎么自己去实现?给你一个Runnable、一个容器怎么实现。
  3. AQS中线程等待怎么做的(线程挂起状态怎么做的)?

nio、bio

  1. 阻塞非阻塞的区别?
  2. 异步和同步的区别?异步是使用的内核级线程还是用户态线程。
  3. AIO在Java中应用到了吗?

中间件

  1. redis
  2. rabbitMq
  3. memcached等的使用场景和设计原理

redis:

  1. redis部署方式。
  2. redis怎么加入节点
  3. redis持久化。

1.手撕字符串转int

2.数据库事务隔离级别

3.spring 事务

4.数据库索引失效的场景

5.组合索引(A,B)若查询B列是否用到了索引

6.如果A是string类型,而查询的时候是1314151617 用到了索引吗?能查到这条数据吗?

7.数据库怎么实现乐观锁?

8.redis pipeline了解吗?

9.秒杀场景?怎么实现。redis怎么限流,限流算法。

10.redis实现队列、实现优先级队列。

11.分布式锁。

PS: 觉得有点用的同学,欢迎给个赞转发支持...

送你 58道《2018最新BAT高级java面试必考题》 含答案。

私信关键词“BAT面试”即可获取题目和答案链接哦!

百度高级java工程师面试实拍59题:高并发+中间件+分布式架构!


分享到:


相關文章: