3年Java开发百度面试篇
前两天分享了一篇京东的,今天百度的来了。
感谢老铁的素材提供
一面
首先是项目部分,问的比较细;
如果一个对象有多个方法加了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开发百度面试篇相关推荐
- Java 开发岗面试知识点大全解析
本人简介:北京邮电大学土著硕士研究生,CSDN博客专家,熟悉的技术为Java后台开发.在2017年暑期实习校招中拿到了百度.搜狐.京东和去哪儿网的实习Offer:在2018届校园招聘中,拿到了百度.小 ...
- Java开发实习生面试经历与总结
Java开发实习生面试经历与总结 更新日期:2020年1月1日 一.引言--初生牛犊不怕虎 2019年 我是从大二暑假开始,正式进入Java的学习.大二上学期的时候,学校开设了只有11周的Java程序 ...
- Java开发岗面试攻略(应届)
开发岗面试系列文章目录 第一章 Java开发岗面试攻略(应届) 文章目录 开发岗面试系列文章目录 前言 一.Java技术栈 1.Java速成学习路线 二.Java面试题 1.博主自己总结的面试题(应届 ...
- 2021年4月22日 阿里供应链Java开发实习面试(三面)(含总结)
title: 2021年4月22日 阿里供应链Java开发实习面试(三面) tags: 面经 2021年4月22日 阿里供应链Java开发实习面试(三面) 上来就手撕一道代码--输入一个数,然后顺时针 ...
- 2021年3月16日 北京快手Java开发实习面试(海外增长方向)
title: 2021年3月16日 北京快手Java开发实习面试(海外增长方向) tags: 面经 2021年3月16日 北京快手Java开发实习面试(海外增长方向) 自我介绍你能讲一下你的项目吗?你 ...
- 2021年3月12日 北京格灵深瞳Java开发实习面试(一面)
title: 2021年3月12日 北京格灵深瞳Java开发实习面试 tags: 面经 2021年3月12日 北京格灵深瞳Java开发实习面试(一面) 首先上来问你问什么不做算法,转做开发呢?(因为我 ...
- Java开发大厂面试资料,让你的面试不再困难!
你是否有过因为面试紧张而导致应聘失败的经历?你是否还在因为面试而感到头疼? Java开发大厂面试资料,让你的面试不再困难! Java能力和面试能力,这是两个方面的技能,可以这样说,如果不准备,一些大神 ...
- [ Java面试题 ]Java 开发岗面试知识点解析
在不断的面试中,分类总结了 Java 开发岗位面试中的一些知识点. 主要包括以下几个部分: Java 基础知识点 Java 常见集合 高并发编程(JUC 包) JVM 内存管理 Java 8 知识点 ...
- 2020春招 / 2021秋招阿里、腾讯、字节、快手、美团 JAVA 开发岗面试高频问题总结
2020春招 / 2021秋招阿里.腾讯.字节.快手.美团 JAVA 开发岗面试高频问题总结 2.1 进程和线程的区别? 2.2 进程的调度算法有哪些?(主要) 2.3 常用 IO 模型? 2.4 s ...
最新文章
- Lumen / Laravel 5.5 使用网易邮箱 SMTP 发送邮件
- 详解:XenServer丢失存储库SR解决方法
- MIT黑科技:全新芯片将语音识别功耗降低99%
- solr怎么设置搜索结果排名靠前?
- [翻译]React组件模式
- 贵州轻工职业技术学院计算机分数,贵州轻工职业技术学院历年分数线 2021贵州轻工职业技术学院录取分数线...
- WordPress Kyma plugin检测kyma连接状态的逻辑
- 使用.net开发手机管理软件(一至三)
- 教你在win10系统开启和使用语音识别
- 管理感悟:出了问题先怀疑自己
- java中一个对象占多少字节
- 利用python批量创建文件夹、批量创建文件、批量复制文件到指定文件夹
- SAP MM 发货到成本中心场景下的批次确定
- 逗娱-游戏程序开发实习生测试题
- Laravel框架中使用 Repository 模式
- 拼多多玩出花的社交电商 你知道多少?四川海昇智深度解析来啦
- git上传到阿里云code
- 搭建私有云盘可能用到的软件
- 系统分析与控制_多智能体协同控制研究中各定位系统分析
- 21个有用的python工具
热门文章
- 计算机教室档案 设备损坏赔偿,关于印发《湖北工业大学工程技术学院仪器设备损坏丢失赔偿处理办法》的通知...
- 如何创新模块化建筑系统?SolidWorks教你几招!
- 湖南2015C语言对口高考,C语言湖南对口高考月考.doc
- 用css做一个小风车
- Java动态插入数据到html模板并下载为html解决方案
- java阿法狗国际象棋_阿法狗并不是真正的人工智能:3分钟让你彻底明白阿法狗如何下棋...
- 计时器与多线程(无聊应试向)
- 欠驱动机器人学-麻省理工学院开放课程-MIT 6.832: Underactuated Robotics(译)
- [笔记分享] [GPIO] MSM8x39 GPIO 硬件部分小结
- 台式机电脑cpu具体型号参数-intel