前两天分享了一篇京东的,今天百度的来了。
感谢老铁的素材提供

一面

  • 首先是项目部分,问的比较细;

  • 如果一个对象有多个方法加了synchronized,那么该对象有几把锁

答:对象锁是在一个类的对象上加的的锁,只有一把,不管有几个方法进行了同步。这些同步方法都共有一把锁,只要一个线程获得了这个对象锁,其他的线程就不能访问该对象的任何一个同步方法。

  • NIO与AIO的区别以及各自的作用;

(1)Java NIO :同步非阻塞,服务器实现模式为一个请求一个线程,即客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有I/O请求时才启动一个线程进行处理。NIO方式适用于连接数目多且连接比较短(轻操作)的架构,比如聊天服务器。

(2)Java AIO(NIO.2) : 异步非阻塞,服务器实现模式为一个有效请求一个线程,客户端的I/O请求都是由OS先完成了再通知服务器应用去启动线程进行处理。AIO方式使用于连接数目多且连接比较长(重操作)的架构,比如相册服务器。

  • IOC的实现原理;

Spring的IOC实现原理就是工厂模式加反射机制,通俗来讲就是根据给出的类名(字符串方式)来动态地生成对象,这种编程方式可以让对象在生成时才被决定到底是哪一种对象。把IOC容器的工作模式看做是工厂模式的升华,可以把IOC容器看作是一个工厂,这个工厂里要生产的对象都在配置文件中给出定义,然后利用编程语言提供的反射机制,根据配置文件中给出的类名生成相应的对象。

  • 反射的原理;

反射首先是能够获取到Java中的反射类的字节码,然后将字节码中的方法,变量,构造函数等映射成 相应的 Method、Filed、Constructor 等类。

  • 数据库调优思路的思路;

  • 开放性的问题,如何提高系统QPS。

二面

  • redis做分布式锁怎么做的?

  • Redis能做分布式锁的原理?

答:Redis为单进程单线程模式,采用队列模式将并发访问变成串行访问,且多客户端对Redis的连接并不存在竞争关系。

  • JUC下面主要用哪些东西?

  • 说一下AQS?

  • ReentrantLock非公平锁和公平锁的实现原理?

三面

  • redis分布式锁如何保证原子性?

  • 用过ThreadLocal吗?简单说一下?

答:ThreadLocal采用的是以空间换时间的方式,为每个线程提供一份变量副本。每一个线程都可以独立的改变自己的副本。

  • Java8之后的ConcurrentHashMap, 舍弃分段锁

  • 介绍下cms收集器

  • redis缓存与数据库一致性问题?

答:一致性问题主要出现在数据更新的时候,通常在更新时采取删除缓存而不是更新缓存。具体一点,先淘汰缓存,再写数据库。因为如果先写数据库可能出现如果有读请求发生,可能导致旧数据入缓存,引发数据不一致。

  • dubbo有哪几种负载均衡策略?

  • 介绍下一致性hash?

  • 介绍下mysql的回表和覆盖索引?

  • 说下模板方法模式?

最后

咋样,看完这些面试题?有没有兴趣去试试呢?

本文分享给需要面试刷题的朋友,也祝愿大家顺利拿到自己想要的offer,这份资料主要包含了Java基础,数据结构,jvm,多线程等等,由于篇幅有限,以下只展示小部分面试题,有需要完整版的朋友可以点一点链接跳转领取,链接:戳这里免费下载,获取码:CSDN

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

3年Java开发百度面试篇相关推荐

  1. Java 开发岗面试知识点大全解析

    本人简介:北京邮电大学土著硕士研究生,CSDN博客专家,熟悉的技术为Java后台开发.在2017年暑期实习校招中拿到了百度.搜狐.京东和去哪儿网的实习Offer:在2018届校园招聘中,拿到了百度.小 ...

  2. Java开发实习生面试经历与总结

    Java开发实习生面试经历与总结 更新日期:2020年1月1日 一.引言--初生牛犊不怕虎 2019年 我是从大二暑假开始,正式进入Java的学习.大二上学期的时候,学校开设了只有11周的Java程序 ...

  3. Java开发岗面试攻略(应届)

    开发岗面试系列文章目录 第一章 Java开发岗面试攻略(应届) 文章目录 开发岗面试系列文章目录 前言 一.Java技术栈 1.Java速成学习路线 二.Java面试题 1.博主自己总结的面试题(应届 ...

  4. 2021年4月22日 阿里供应链Java开发实习面试(三面)(含总结)

    title: 2021年4月22日 阿里供应链Java开发实习面试(三面) tags: 面经 2021年4月22日 阿里供应链Java开发实习面试(三面) 上来就手撕一道代码--输入一个数,然后顺时针 ...

  5. 2021年3月16日 北京快手Java开发实习面试(海外增长方向)

    title: 2021年3月16日 北京快手Java开发实习面试(海外增长方向) tags: 面经 2021年3月16日 北京快手Java开发实习面试(海外增长方向) 自我介绍你能讲一下你的项目吗?你 ...

  6. 2021年3月12日 北京格灵深瞳Java开发实习面试(一面)

    title: 2021年3月12日 北京格灵深瞳Java开发实习面试 tags: 面经 2021年3月12日 北京格灵深瞳Java开发实习面试(一面) 首先上来问你问什么不做算法,转做开发呢?(因为我 ...

  7. Java开发大厂面试资料,让你的面试不再困难!

    你是否有过因为面试紧张而导致应聘失败的经历?你是否还在因为面试而感到头疼? Java开发大厂面试资料,让你的面试不再困难! Java能力和面试能力,这是两个方面的技能,可以这样说,如果不准备,一些大神 ...

  8. [ Java面试题 ]Java 开发岗面试知识点解析

    在不断的面试中,分类总结了 Java 开发岗位面试中的一些知识点. 主要包括以下几个部分: Java 基础知识点 Java 常见集合 高并发编程(JUC 包) JVM 内存管理 Java 8 知识点 ...

  9. 2020春招 / 2021秋招阿里、腾讯、字节、快手、美团 JAVA 开发岗面试高频问题总结

    2020春招 / 2021秋招阿里.腾讯.字节.快手.美团 JAVA 开发岗面试高频问题总结 2.1 进程和线程的区别? 2.2 进程的调度算法有哪些?(主要) 2.3 常用 IO 模型? 2.4 s ...

最新文章

  1. Lumen / Laravel 5.5 使用网易邮箱 SMTP 发送邮件
  2. 详解:XenServer丢失存储库SR解决方法
  3. MIT黑科技:全新芯片将语音识别功耗降低99%
  4. solr怎么设置搜索结果排名靠前?
  5. [翻译]React组件模式
  6. 贵州轻工职业技术学院计算机分数,贵州轻工职业技术学院历年分数线 2021贵州轻工职业技术学院录取分数线...
  7. WordPress Kyma plugin检测kyma连接状态的逻辑
  8. 使用.net开发手机管理软件(一至三)
  9. 教你在win10系统开启和使用语音识别
  10. 管理感悟:出了问题先怀疑自己
  11. java中一个对象占多少字节
  12. 利用python批量创建文件夹、批量创建文件、批量复制文件到指定文件夹
  13. SAP MM 发货到成本中心场景下的批次确定
  14. 逗娱-游戏程序开发实习生测试题
  15. Laravel框架中使用 Repository 模式
  16. 拼多多玩出花的社交电商 你知道多少?四川海昇智深度解析来啦
  17. git上传到阿里云code
  18. 搭建私有云盘可能用到的软件
  19. 系统分析与控制_多智能体协同控制研究中各定位系统分析
  20. 21个有用的python工具

热门文章

  1. 计算机教室档案 设备损坏赔偿,关于印发《湖北工业大学工程技术学院仪器设备损坏丢失赔偿处理办法》的通知...
  2. 如何创新模块化建筑系统?SolidWorks教你几招!
  3. 湖南2015C语言对口高考,C语言湖南对口高考月考.doc
  4. 用css做一个小风车
  5. Java动态插入数据到html模板并下载为html解决方案
  6. java阿法狗国际象棋_阿法狗并不是真正的人工智能:3分钟让你彻底明白阿法狗如何下棋...
  7. 计时器与多线程(无聊应试向)
  8. 欠驱动机器人学-麻省理工学院开放课程-MIT 6.832: Underactuated Robotics(译)
  9. [笔记分享] [GPIO] MSM8x39 GPIO 硬件部分小结
  10. 台式机电脑cpu具体型号参数-intel