50w字+的Java技术类校招面试题汇总,BAT大厂面试总结
Posted Java范德萨
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了50w字+的Java技术类校招面试题汇总,BAT大厂面试总结相关的知识,希望对你有一定的参考价值。
Redis
- 什么是Redis?
- Redis的数据类型?
- 使用Redis有哪些好处?
- Redis相比Memcached有哪些优势?
- Memcache与Redis的区别都有哪些?
- Redis是单进程单线程的?
- 一个字符串类型的值能存储最大容量是多少?
- Redis的持久化机制是什么?各自的优缺点?
- Redis常见性能问题和解决方案:
- redis过期键的删除策略?
- Redis的回收策略(淘汰策略) ?
- 为什么Redis需要把所有数据放到内存中?
- Redis的同步机制了解么?
- Pipeline有什么好处,为什么要用pipeline?
- 是否使用过Redis集群,集群的原理是什么?
- Redis集群方案什么情况下会导致整个集群不可用?
- Redis支持的Java客户端都有哪些?官方推荐用哪个?
- Jedis与Redisson对比有什么优缺点?
- Redis如何设置密码及验证密码?
- 说说Redis哈希槽的概念?
- Redis集群的主从复制模型是怎样的?
- Redis集群会有写操作丢失吗?为什么?
- Redis集群之间是如何复制的?
- Redis集群最大节点个数是多少?
- Redis集群如何选择数据库?
- 怎么则试Redis的连通性?
- 怎么理解Redis事务?
- Redis事务相关的命令有哪几个?
- Redis key的过期时间和永久有效分别怎么设置?
- Redis如何做内存优化?
- Redis回收进程如何工作的?
- 都有哪些办法可以降低Redis的内存使用情况呢?
- Redis的内存用完了会发生什么?
mysql
- MySQL中有哪几种锁?
- MySQL中有哪些不同的表格?
- 简述在MySQI数据库中MyISM和InnoDB的区别
- MySQL中InmnoDB支持的四种事务隔离级别名称,以及逐级之间的区别?
- CHAE和VARCHR的区别?
- 主键和候选键有什么区别?
- myi samchk是用来做什么的?
- 如果一个表有一-列定义为TIMESTAMP, 将发生什么?
- 你怎么看到为表格定义的所有索引?
- IIK声明中的%和是什么意思?
- 列对比运算符是什么?
- BLOB和TEXT有什么区别?
- MySQL_ fetch_ arr ay和MySQL_ fetch_ object的区别是什么?
- MyISAM表格将在哪里存储,并且还提供其存储格式?
- MySQL如何优化DISTINCT?
- 如何显示前50行?
- 可以使用多少列创建索引?
- NOW ()和CURRENT DATE ()有什么区别?
- 什么是非标准字符串类型?
- 什么是通用SQL函数?
- MySQL支持事务吗?
- MySeL里记录货币用什么字段类型好
- MySQL有关权限的表都有哪几个?
- 列的字符串类型可以是什么?
- MySQI数据库作发布系统的存储,一天五万条以上的增里,预计运维三年,怎么优化?
- 锁的优化策略
Spring
- 什么是spring?
- 使用Spring框架的好处是什么?
- Spr ing由哪些模块组成?
- 核心容器(应用上下文)模块。
- BeanFactory – BeanFactory 实现举例。
- XMLBeanFactory
- 解释AP模块
- 解释JBC抽象和DAD模块。
- 解释对象/关系映射集成模块。
- 解释WEB模块。
- Spring置文件
- 什么是Spring IOC容器?
- IOC的优点是什么?
- ApplicationContext通常的实现是什么?
- Bean工厂和Applicati on contexts 有什么区别?
- 一个Spring的应用看起来象什么?
- 什么是Spring的依赖注入?
- 有哪些不同类型的IOC (依赖注入)方式?
- 哪种依赖注入方式你建议使用,构造器注入,还是Setter方法注入?Spring Beans
- 什么是Spring beans?
- 一个Spring Bean定义包含什么?
- 如何给Spring容器提供配置元数据?
- 你怎样定义类的作用域?
- 解释Spring支持的几种bean的作用域。
Java核心知识点
Java核心知识点共29个技术模块,从各个角度深入浅出,对重点难点进行全方面解读,图文结合,通俗易懂,让学习成为一种享受。
JVM
- 线程
- JM内存区域
- JVM运行时内存
- 垃圾回收与算法
- JAVA 四中引用类型
- GC分代收集算法vS 分区收集算法
- GC垃圾收集器
- JAVA I0/NI0
- JVM类加载机制
Java多线程/并发
- JAVA并发知识库
- JAVA线程实现/创建方式
- 4种线程池
- 线程生命周期(状态)
- 终止线程4种方式
- sleep与wait区别
- start与run区别
- JAVA后台线程
- JAVA锁
- 线程基本方法
- 线程上下文切换
- 同步锁与死锁
- 线程池原理
- JAVA阻塞队列原理
- Cycli cBarrier、CountDownLatch、Semaphor e的用法
- volatile关键字的作用(变量可见性、禁止重排序)
- 如何在两个线程之间共享数据
- ThreadLoca1作用 (线程本地存储)
- synchr oni ze Reentr antLock的区别
- Concur entHashMlap并发
- Java中 用到的线程调度
- 进程调度算法
- 什么是CAS (比较并交换-乐观锁机制-锁自旋)
- 什么是AQS (抽象的队列同步器)
Spring Boot
- 什么是Spring Boot?
- 为什么要用Spr ingBoot
- Spring Boot有哪些优点?
- Spring Boot的核心注解是哪个?它主要由哪几个注解组成的?
- 运行Spring Boot有哪几种方式
- 如何理解Spring Boot中的Starters?
- 如何在Spring Boot启动的时候运行一些特定的代码?
- Spring Boot需要独立的容器运行吗?
- Spring Boot中的监视器是什么?
- 如何使用Spring Boot实现异常处理?
- 你如何理解Spring Boot 中的Starters
- Springboot常用的star ter有哪些
- Spr ingBoot实现热部署有哪几种方式
- 如何理解Spring Boot配置加载顺序
- Spring Boot的核心配置文件有哪几个?它们的区别是什么?
- 如何集成Spring Boot和ActiveMQ
- 什么是JavaConfig?
- 如何重新加载Spring Boot上的更改,而无需重新启动服务器?
- Spring Boot中的监视器是什么?
- 如何在Spring Boot中禁用Actuator 端点安全性?
- 如何在自定义端口上运行Spring Boot 应用程序?
- 什么是YAML?
- 如何实现Spring Boot应用程序的安全性?
- 如何集成Spring Boot和ActiveMQ?
- 如何使用Spring Boot 实现分页和排序?
- 什么是Swagger? 你用Spring Boot实现了它吗?
微服务
- PACT 在微服务架构中的用途是什么?
- 微服务架构有哪些优势?
- 微服务有哪些特点?
- 设计微服务的最佳实践是什么?
- 微服务架构如何运作?
- 微服务架构的优缺点是什么?
- 单片,SOA和微服务架构有什么区别?
- 在使用微服务架构时,您面临哪些挑战?
- SOA和微服务架构之间的主要区别是什么?
- 微服务有什么特点?
- 什么是领域驱动设计?
- 为什么需要域驱动设计(DDD) ?
- 什么是无所不在的语言?
- 什么是凝聚力?
- 什么是耦合?
- 什么是reST 1 RESTful 以及它的用途是什么?
- 你对Spring Boot 有什么了解?
- 什么是Spring 引导的执行器?
- 什么是Spring Cloud?
- Spring Cloud解决了哪些问题?
- 在Spring MVC应用程序中使用WebMvcTest 注释有什么用处?
- 你能否给出关于休息和微服务的要点?
- 什么是不同类型的微服务测试?
- 您对Distributed Transaction有何了解?
- 什么是Idempotence 以及它在哪里使用?
- 什么是有界上下文?
- 什么是双因素身份验证?
Mybatis
-
什么是Mybatis?
-
Mybaits的优点
-
MyBatis框架的缺点
-
MyBatis框架适用场合
-
MyBatis与Hibernate有哪些不同?
-
当实体类中的属性名和表中的字段名不一样,怎么办?
-
模糊查询like语句该怎么写?
-
通常-个Xml 映射文件,都会写-个Dao接口与之对应,请问,这个Dao接口的工作原理是什么? Dao接口里的方法,参数不同时,方法能重载吗?
-
如何获取自动生成的(住)键值?
-
在mapper中如何传递多个参数?
-
Mybatis动态sql有什么用?执行原理?有哪些动态sql?
-
Xml映射文件中,除了常见的select |insert |updse |delete标签之外,还有哪些标签?
-
Mybatis的Xml 映射文件中,不同的Xml 映射文件,id是否可以重复?
-
为什么说Mybatis是半自动ORM映射工具?它与全自动的区别在哪里?
-
一对一、一对多的关联查询?
-
MyBatis实现-对一有几种方式?具体怎么操作的?
-
MyBatis实现一对多有几种方式怎么操作的?
-
Mybatis 是否支持延迟加载?如果支持,它的实现原理是什么?
-
Mybatis的一级、二级缓存
-
什么是MyBatis的接口绑定?有哪些实现方式?
-
使用MyBatis 的mapper 接口调用时有哪些要求?
-
Mapper编写有哪几种方式?
言尽于此,完结
无论是一个初级的 coder,高级的程序员,还是顶级的系统架构师,应该都有深刻的领会到设计模式的重要性。
- 第一,设计模式能让专业人之间交流方便,如下:
程序员A:这里我用了XXX设计模式
程序员B:那我大致了解你程序的设计思路了
- 第二,易维护
项目经理:今天客户有这样一个需求…
程序员:明白了,这里我使用了XXX设计模式,所以改起来很快
- 第三,设计模式是编程经验的总结
程序员A:B,你怎么想到要这样去构建你的代码
程序员B:在我学习了XXX设计模式之后,好像自然而然就感觉这样写能避免一些问题
- 第四,学习设计模式并不是必须的
程序员A:B,你这段代码使用的是XXX设计模式对吗?
程序员B:不好意思,我没有学习过设计模式,但是我的经验告诉我是这样写的
从设计思想解读开源框架,一步一步到Spring、Spring5、SpringMVC、MyBatis等源码解读,我都已收集整理全套,篇幅有限,这块只是详细的解说了23种设计模式,整理的文件如下图一览无余!
吗?
程序员B:不好意思,我没有学习过设计模式,但是我的经验告诉我是这样写的
[外链图片转存中…(img-Ue5UEPHG-1625197142313)]
从设计思想解读开源框架,一步一步到Spring、Spring5、SpringMVC、MyBatis等源码解读,我都已收集整理全套,篇幅有限,这块只是详细的解说了23种设计模式,整理的文件如下图一览无余!
[外链图片转存中…(img-HxKVjybc-1625197142314)]
搜集费时费力,能看到此处的都是真爱!
以上是关于50w字+的Java技术类校招面试题汇总,BAT大厂面试总结的主要内容,如果未能解决你的问题,请参考以下文章