面试官还在给你挖坑?面试百度Java岗巧妙跳过604道,成功率到99%

写在前面

现在这个时期,好像是一个很尴尬的时期,该不该准备面试呢,Java面试准备很难吗?可以赶上金九银十吗?这个答案只有你自己可以给到自己,下面分享一位朋友面试百度的经历:


全程1小时零5分钟

  • 首先自我介绍,讲一下个人情况和平时读研做的一些事情
  • 介绍一下自己的项目,有没有遇到什么难点
  • shiro讲一下是怎么用的
  • Redis分布式锁问题,Redis锁是可重入的吗
  • Redis的基本数据结构以及它们是怎么实现的
  • 消息队列的作用是什么
  • 看你项目中用了elasticsearch,能讲讲底层实现原理吗
  • 简单的介绍与一下Java吧,Java有哪些特性
  • 简单讲一下面向对象,什么是继承,什么是多态,作用是什么
  • 你觉得什么样的代码是好的代码,怎么样才能保证代码的可维护性强
  • 你有遇到过不好的代码的经历吗
  • hashCode和equals是什么,有什么关系,在HashMap中是怎么处理的
  • 讲一下数据库索引,索引的优缺点
  • 各种join的区别,性能之间有什么差异
  • 数据库有哪些安全问题,如何避免SQL注入
  • 你在数据库查询过程中遇到过什么问题
  • select * 性能问题
  • 知道慢SQL吗
  • Java集合类知道是哪些线程安全的吗
  • 讲讲线程的创建方式,彼此间有什么差异
  • 线程池的参数有哪些,线程池的执行流程是怎样的
  • 了解Java是怎么实现线程安全的吗
  • 讲一下synchronized和reentrantLock以及两者的底层实现
  • 讲一下JVM的内存区域吧,详细讲一下Java堆的内存划分
  • 你了解哪些JVM的参数,这些参数都有什么作用
  • 垃圾回收的各种算法可以简单讲一下吗
  • SpringIOC和AOP作用,如何实现
  • 输入一个URL后的整体过程是怎样的
  • HTTP状态码有哪些,举几个常见的例子
  • DNS过程中,一个域名只可以映射一个IP吗
  • 了解负载均衡吗,除了部署于第7层的Nginx,你知道其他负载均衡手段吗
  • 你了解哪些Linux指令
  • 算法:(秒AC)
  • 求二叉树的深度
  • 判断字符串是否是回文
  • 反问

(以上就是我朋友面试时问到的一些问题,有很多记忆都比较模糊了,下面是他准备面试时刷到的一些题库)

这份pdf中包含了Java基础、Java集合、多线程、JVM、Mybatis、spring、Nginx、Linux、kakfa等18个面试专题,话不多说,直接上图:

面试官还在给你挖坑?面试百度Java岗巧妙跳过604道,成功率到99%_第1张图片

Java基础题

  • 1.Java语言的三大特性
  • 2.Java语言主要特性
  • 3. JDK和JRE有什么区别
  • 4.Java基本数据类型及其封装类
  • 5.如果main方法被声明为private会怎样?
  • 6.说明一下public static void main(String argsD)这段声明里每个关键字的作用
  • 7.==与equals的区别
  • 8.Object有哪些公用方法
  • 9.为什么Java里没有全局变量?
  • 10.while循环和do循环有什么不同?
  • 11.char型变量中能不能存储一个中文汉字?为什么?
  • 12.public,private, protected的区别,继承方法与访问权限
  • 13.float f=3.4:是否正确?
  • 14.shorts1 = 1;s1 = s1 + 1;有错吗? shorts1 = 1;s1 += 1;有错吗?
  • 15.&和&的区别?
  • 16.IntegerCache
  • 17.Locale类是什么?
  • 18Java中final. finally. finalize的区别与用法
  • 19.hashCode0和equals0的区别
  • 20.深拷贝和浅拷贝的区别是什么?
  • 21Java中操作字符串都有哪些类?它们之间有什么区别?
  • 22.String str= "a"与String str=new String("a")-样吗?
  • 23.抽象类能使用final修饰吗?
  • 24.static关键字5连问
  • 25.重载(Overload)和重写(Override) 的区别。重载的方法能否根据返回类型进行区分?
  • 26Java的四种引用
  • 27.Java中Comparator与Comparable有什么不同?
  • 28. Java序列化,反序列化?
  • 29.什么情况需要Java序列化?
  • 30.序列化的实现?

面试官还在给你挖坑?面试百度Java岗巧妙跳过604道,成功率到99%_第2张图片

Java集合

  • 1.Java集合框架的基础接口有哪些?
  • 2.Collectin和Collections有什么区别?
  • 3.List. Set. Map是否继承自Collection接口?
  • 4.Collections.sort排序内部原理
  • 5.List. Set. Map之间的区别是什么?
  • 6.HashMap和Hashtable有什么区别?
  • 7.如何决定使用HashMap还是TreeMap?
  • 8.说一下HashMap的实现原理?
  • 9.说一下HashSet的实现原理?
  • 10.ArrayList和LinkedList的区别是什么?
  • 11.为何Map接口不继承Colection接口?
  • 12.ArrayList和Vector有何异同点?
  • 13.Array和ArrayList有何区别?
  • 14.在Queue中poll0和remcve0有什么区别?
  • 15.LinkedHashMap有什么特点?
  • 16.HashMap的底层实现原理? (高频问题)
  • 17.HashMap并发安全的问题
  • 18JDK1.8与JDK1.7的性能对比
  • 18.HashMap操作注意事项以及优化?

面试官还在给你挖坑?面试百度Java岗巧妙跳过604道,成功率到99%_第3张图片

异常&反射

  • 1.error和exception有什么区别?
  • 2.说出5个常见的RuntimeException?
  • 3.throw和throws的区别?
  • 4Java中异常分类
  • 5.如何自定义异常
  • 6Java中异常处理
  • 7.什么是Java反射机制?
  • 8.举例什么地方用到反射机制?
  • 9.java反射机制的作用
  • 10.Java反射机制类
  • 11.反射机制优缺点?
  • 12.利用反射创建对象?

面试官还在给你挖坑?面试百度Java岗巧妙跳过604道,成功率到99%_第4张图片

IO&NIO

  • 1.什么是I0流?
  • 2java中有几种类型的流?
  • 3.字节流和字符流哪个好?怎么选择?
  • 4.读取数据量大的文件时,速度会很慢,如何选择流?
  • 5. I0模型有几种?
  • 6.阻塞IO (blocking 10)
  • 7.非阻塞I/O (nonblocking 10)
  • 8.I/0多路复用模型(IO multiplexing)
  • 9.信号驱动/O模型
  • 10.异步I/O(asynchronous 10)
  • 11.NIO与IO的区别?
  • 12.NIO和IO适用场景
  • 13.NIO核心组件
  • 14.什么是channel
  • 15Java NIO中最常用的通道实现?
  • 16.Buffer是什么?
  • 17.核心Buffer实现有哪些?
  • 18.buffer读写数据基本操作
  • 19.Selector是什么?
  • 20.通道可以监听哪几个事件?
  • 21.为什么要用Selector?
  • 22.Selector处理多Channel图文说明

面试官还在给你挖坑?面试百度Java岗巧妙跳过604道,成功率到99%_第5张图片

多线程

  • 1.什么是进程?
  • 2.什么是线程?
  • 3.线程的实现方式?
  • 4.Thread类中的start0和run0方法有什么区别?
  • 5线程NEW状态
  • 6.线程RUNNABLE状态
  • 7.线程的RUNNING状态
  • 8.线程的BLOCKED状态
  • 9.线程的TERMINATED状态
  • 10.线程状态转化图
  • 11.i一与System.out.println0的异常
  • 12.如何知道代码段被哪个线程调用?
  • 13.线程活动状态?
  • 14.sleep0方法
  • 15.如何优雅的设置睡眠时间?
  • 16.停止线程
  • 17.interrupted和isInterrupted
  • 18.yield
  • 19.线程的优先级
  • 20.优先级继承特性
  • 21.谁跑的更快?
  • 22.线程种类
  • 23.守护线程的特点
  • 24Java中典型的守护线程
  • 25.如何设置守护线程
  • 25Java虚拟机退出时Daemon线程中的finally块一定会执行?
  • 26.设置线程上下文类加载器
  • 27.join
  • 28.什么是synchronized?
  • 29.synchronized包括哪两个jvm重要的指令?
  • 30.synchronized关键字用法?
  • 31.synchronized锁的是什么?
  • 32.Java对象头
  • 33.Java对象头长度
  • 34.Java对象头的存储结构
  • 35.Mark Word的状态变化
  • 36.锁的升降级规则
  • 37.偏向锁
  • 38.关闭偏向锁延迟
  • 39.如何关闭偏向锁
  • 40.轻量级锁
  • 41.轻量锁的解锁
  • 42.锁的优缺点对比
  • 43.什么是原子操作
  • 44.Java如何实现原子操作
  • 45.CAS实现原子操作的3大问题
  • 46.什么是ABA问题
  • 47.CAS循环时间长占用资源大问题
  • 48.CAS只能保证一个共享变量原子操作
  • 49.volatile关键字
  • 50.等待/通知机制
  • 51 .wait
  • 52.notify
  • 53ntif/notifyAll
  • 54.等待/通知经典范式
  • 57.解决get0返回nul问题

面试官还在给你挖坑?面试百度Java岗巧妙跳过604道,成功率到99%_第6张图片

(有将近100道面试专题)

JVM(50道面试专题)

  • 1.JDK、JRE、 JVM关系?
  • 2.启动程序如何查看加载了哪些类,以及加载顺序?
  • 3. class字节码文件10个主要组成部分?
  • 4.画一下jvm内存结构图?
  • 5.程序计数器
  • 6.Java虚拟机栈
  • 7.本地方法栈
  • 8.Java堆
  • 9.方法区
  • 10.运行时常量池?
  • 11.什么时候抛出StackOverflowError?
  • 12.Java7和Java8在内存模型上有什么区别?
  • 13.程序员最关注的两个内存区域?
  • 14.直接内存是什么?
  • 15.除了哪个区域外,虚拟机内存其他运行时区域都会发生OutOfMemoryError?
  • 16.什么情况下会出现堆内存溢出?
  • 17.如何实现-个堆内存溢出?
  • 18.空间什么情况下会抛出OutOfMemoryError?
  • 19.如何实现StrackOverflowError?
  • 20.如何设置直接内存容量?
  • 21Java堆内存组成?
  • 22.Edem : from : to默认比例是?
  • 23.垃圾标记阶段?
  • 24.引用计数法?
  • 25.根搜索算法?

面试官还在给你挖坑?面试百度Java岗巧妙跳过604道,成功率到99%_第7张图片

Linux(50道面试专题)

  • 1.什么是Linux?
  • 2.Linux内核主要负责哪些功能
  • 3.交互方式
  • 4.启动shell
  • 5.bash手册
  • 6.登陆后你在的位置?
  • 7.绝对文件路径?相对文件路径?快捷方式?
  • 8.迷路,我的当前位置在哪?
  • 9.如何切换目录?
  • 10.如何查看目录中的文件?区分哪些是文件哪些是目录?递归查?
  • 11.创建文件?创建目录?批星创建?
  • 12.删除文件?强制删除?递归删除?
  • 13.制表符自动补全?
  • 14.复制文件
  • 15.重新命名文件?移动文件?
  • 16.什么是链接文件?

Mysql

  • 1.什么是数据库?
  • 2.如何查看某个操作的语法?
  • 3.MySq|的存储引擎有哪些?
  • 4.常用的2种存储引擎?
  • 6.可以针对表设置引擎吗?如何设置?
  • 6.选择合适的存储引擎?
  • 7.选择合适的数据类型
  • 8.char & varchar
  • 9.Mysq|字符集
  • 10.如何选择字符集?
  • 11.什么是索引?
  • 12.索引设计原则?
  • 13.MySq|有哪些索引?
  • 14.Hash索引和B +树索引的底层实现原理:
  • 15.非聚簇索引-定会回表查询吗?

Spring

  • 1.Spring框架?
  • 2.Spring的整体架构?
  • 3.Spring可以做什么?
  • 4.Spring的优点?缺点?
  • 5.你能说几个Spring5的新特性吗?
  • 6.IOC?
  • 7.什么是依赖注入?
  • 8.IOC注入哪几种方式?
  • 9.IOC优点?缺点?
  • 10.bean的生命周期?
  • 11.Spring有几种配置方式?
  • 12.Spring中的bean有几种scope?
  • 13.什么是AOP(面向切面编程)?
  • 14.切面有几种类型的通知?分别是?
  • 15.什么是连接点(Join point)?

面试官还在给你挖坑?面试百度Java岗巧妙跳过604道,成功率到99%_第8张图片

 

Mybatis

  • 1.什么是Mybatis?
  • 2.Hibernate优点?
  • 3.Hibernate缺点?
  • 4.Mybatis优点?
  • 5.Mybatis缺点?
  • 6.什么时候用Mybatis?
  • 7.Mybatis的核心组件有哪些?分别是?
  • 8.#()和$0的区别是什么?
  • 9.Mybatis中9个动态标签是?
  • 10.xml映射文件中,有哪些标签?
  • 11.Mybatis支持注解吗?优点?缺点?
  • 12.Mybatis动态sq|?
  • 13.Mybatis是如何进行分页的?分页插件的原理是什么?
  • 14.如何获取自增主键?
  • 15.为什么Mapper接口没有实现类,却能被正常调用?
  • 16.用注解好还是xml好?

Nginx

  • 1.什么是nginx?
  • 2.nginx主要特征?
  • 3.nginx常用命令?
  • 4.工作模式及连接数上限?
  • 5.nginx负载均衡几种算法?
  • 6.nginx有几种进程模型?
  • 7.如何定义错误提示页面?
  • 8.如何精准匹配路径?
  • 9.路径匹配优先级?
  • 10.如何把请求转发给后黄应用服务器?
  • 11.如何根据文件类型设置过期时间?
  • 12.禁止访问某个目录?
  • 13.nginx负载均衡实现过程?
  • 14.负载均衡配置?
  • 15.设置超时时间?

Redis

  • 1.Redis是什么?
  • 2.Redis特性?
  • 3.Redis合适的应用场景?
  • 4.除了Redis你还知道哪些NoSQL数据库?
  • 5.Redis和Memcache区别?
  • 6.Redis的有几种数据类型?
  • 7.Redis有哪些高级功能?
  • 8.安装过Redis吗,简单说下步骤?
  • 9.redis几个比较主要的可执行文件?分别是?
  • 10.启动Redis的几种方式?
  • 11.Redis配置需要自己写?如何配置?
  • 12.Redis客户端命令执行的方式?
  • 13.如何停止redis服务?
  • 14.如何查看当前键是否存在?
  • 15.如何删除数据?

Dubbo

  • 1.什么是Dubbo?
  • 2.为什么要使用Dubbo?
  • 3.Dubbo提供了哪3个关键功能?
  • 4.你知道哪些机构在用Dubbo吗?
  • 5.Dubbo服务的关键节点有哪些?
  • 6.说一下Dubbo服务注册流程?
  • 7.能画一下服务注册流程图吗?
  • 8.Dubbo架构的特点?
  • 9.对jdk的最小版本需求?
  • 10.注册中心的选择?
  • 11.Dubbo的核心配置?用途?
  • 12.配置优先级规则?
  • 13.如何用代码方式绕过注册中心点对点直连?
  • 14.Dubbo配置来源有几种?分别是?
  • 1 5.如何禁用某个服务的启动检查?
  • 16.Dubbo负载均衡策略?默认是?

SpringBoot

  • 1.什么是SpringBoot?
  • 2.SpringBoot的特征?
  • 3.如何快速构建一个SpringBoot项目?
  • 4.SpringBoot启动类注解?它是由哪些注解组成?
  • 5.什么是yaml?
  • 6.SpringBoot支持配置文件的格式?
  • 7.SpringBoot启动方式?
  • 8.SpringBoot需要独立的容器运行?
  • 9.SpringBoot配置途径?
  • 10.application.properties和application.yml文件可放位置?优先级?
  • 11.SpringBoot自动配置原理?
  • 12.SpringBoot热部署方式?
  • 13.bootstrap.yml和application.yml?
  • 14.SpringBoot如何修改端口号?
  • 15.开启SpringBoot特性的几种方式?
  • 16.SpringBoot如何兼容Spring项目?

Kafka

  • 1.什么是kafka?
  • 2.kafka的3个关键功能?
  • 3.kafka通常用于两大类应用?
  • 4.kafka特性?
  • 5.kafka的5个核心Api?
  • 6.什么是Broker (代理) ?
  • 7.什么是Producer (生产者) ?
  • 8.什么是Consumer (消费者) ?
  • 9.什么是Topic (主题) ?
  • 10.什么是Partition (分区) ?
  • 11.分区和代理节点的关系?
  • 12.什么是副本(Replication)?
  • 13.什么是记录(Record)?
  • 14.kafka适合哪些场景?

SpringCloud

  • 1.什么是SpringCloud?
  • 2.什么是微服务?
  • 3.springCloud有哪些特征?
  • 4.SpringCloud核心组件?
  • 5.pringloud基于什么协议?
  • 6.pringloudfIDubbo区别?
  • 7.Eureka是什么?
  • B.服务治理的基础角色?
  • 9.什么是服务续约?
  • 10.什么是服务下线?
  • 11.什么是失效剔除?
  • 12.什么是自我保护机制?
  • 13.Ribbon是什么?
  • 14Ribbon负载均面的注解是?
  • 1.ibo0载均衡策略有哪些?
  • 16.什么是服务熔断?

简历

  • 一、基本格调
  • 二、基本信息(姓名/性别/毕业院校/电话/邮箱/居住地/期望地)
  • 三、工作经历&项目经历
  • 四、工作期望&个人评价
  • 五、是否有博客, 个人技术栈点等
  • 六、简历内容真实性

面试官还在给你挖坑?面试百度Java岗巧妙跳过604道,成功率到99%_第9张图片

你可能感兴趣的:(架构,java,面试)