前言
因为疫情的关系,上半年始终在家里近程办公,可是明明也是每天工作八小时,却只发三分之二的工资,一气之下我间接向领导提出了到职。
于是乎我六月份到当初这几个月的工夫始终在找工作,但却遭逢到了诸多不顺,因为在传统行业呆久了,当初想去互联网大厂真的太艰巨了,每次面试时的面试题对于我来说都超纲了很多,很多陈腐技术我都没怎么理解。每次面试官看着我的眼神都像下图所示。
前前后后,断断续续的面试真的让我身心俱疲,也粗浅的意识的本人的技术栈的有余。于是每次完结面试我都会认真总结。一直的在网上找材料晋升本人。面试的越多,你就会发现,其实面试整体上就那些技术栈,当咱们有方向,有布局的晋升本人,咱们会成长的很快。
上面我将总结大大小小二十几次的面试的相干内容。心愿能给大家带来些许帮忙。
设计模式
- 说一下设计模式?你都晓得哪些?
- 实现一个单列模式。
- 什么是简略工厂模式?
- 什么是形象工厂模式?
- 什么是观察者模式?
- 什么是装璜器模式?
- 什么是模板办法模式?
- 等等 23 种罕用设计模式都可能问道 …..
Spring 源码解析
- Spring 框架的设计指标,设计理念,和外围是什么
- Spring 的优缺点是什么?
- Spring 有哪些利用场景
- Spring 由哪些模块组成?
- Spring 框架中都用到了哪些设计模式?
- 具体解说一下外围容器(spring context 利用上下文) 模块
- Spring 框架中有哪些不同类型的事件
- Spring 应用程序有哪些不同组件?
- 应用 Spring 有哪些形式?
- 什么是 Spring IOC 容器?
- 管制反转 (IoC) 有什么作用
- IOC 的长处是什么?
- Spring IoC 的实现机制
- Spring 的 IoC 反对哪些性能
- BeanFactory 和 ApplicationContext 有什么区别?
- Spring 如何设计容器的,BeanFactory 和 ApplicationContext 的关系详解
- ApplicationContext 通常的实现是什么?
- 什么是 Spring 的依赖注入?
等等,还有几家面试官问我是否浏览过 Spring 的源码 ……
Mybatis 源码解析
- MyBatis 框架的毛病:
- MyBatis 框架实用场合
- MyBatis 与 Hibernate 有哪些不同?
-
{}和 ${}的区别是什么
- 当实体类中的属性名和表中的字段名不一样,怎么办?
- Mybatis 是否反对提早加载?如果反对,它的实现原理是什么?
- Mybatis 的一级缓存和二级缓存原理
- 什么是 MyBatis 的接口绑定?有哪些实现形式
- 应用 MyBatis 的 mapper 接口调用时有哪些要求
等等 ……
SpringBoot
- 什么是 Spring Boot?
- Spring Boot 有哪些长处?
- Spring Boot 的外围注解是哪个?它次要由哪几个注解组成的?
- Spring Boot 主动配置原理是什么?
- 你如何了解 Spring Boot 配置加载程序?
- 什么是 YAML?
- YAML 配置的劣势在哪里 ?
- Spring Boot 是否能够应用 XML 配置 ?
- spring boot 外围配置文件是什么?bootstrap.properties 和 application.properties 有何区别 ?
等等 ……
性能优化之 Mysql
- MySQL 的复制原理以及流程
- MySQL 中 myisam 与 innodb 的区别
- MySQL 中 varchar 与 char 的区别以及 varchar(50)中的 50 代表的涵义
- innodb 的事务与日志的实现形式
- MySQL binlog 的几种日志录入格局以及区别
- 你们数据库是否反对 emoji 表情,如果不反对,如何操作?
- 你是如何监控你们的数据库的?你们的慢日志都是怎么查问的?
- InooDB 和 MyISAM 的 select count(*)哪个更快,为什么
- mysql 为什么用自增列作为主键
- B+ 树索引和哈希索引的区别
- Mysql 优化
等等 ……
性能优化之 JVM
- 什么状况下会产生栈内存溢出
- 详解 JVM 内存模型
- JVM 内存为什么要分成新生代,老年代,长久代
- 新生代中为什么要分为 Eden 和 Survivor
- JVM 中一次残缺的 GC 流程是怎么的
- 对象如何降职到老年代
- 你晓得哪几种垃圾收集器,各自的优缺点
- 重点讲下 cms 和 G1,包含原理,流程,优缺点
- JVM 内存模型的相干常识理解多少,比方重排序,内存屏障,happen-before,主内存,工作内存。
- 简略说说你理解的类加载器,能够突破双亲委派么,怎么突破。JVM 优化
- 等等 ……
性能优化之 tomcat
- Tomcat 的缺省端口是多少,怎么批改?
- tomcat 有哪几种 Connector 运行模式(优化)?
- Tomcat 有几种部署形式?
- tomcat 容器是如何创立 servlet 类实例?用到了什么原理?
- tomcat 如何优化?
分布式通信之 Netty
- Netty 是什么?是否应用过 Netty?
- Netty 的特点是什么?
- 什么是 Netty 的零拷贝?
- Netty 的长处?
- Netty 的利用场景?
- Netty 高性能体现在哪些方面?
- Netty 中有那种重要组件?
- Netty 发送音讯有几种形式?
- 默认状况 Netty 起多少线程?何时启动?
分布式服务治理之 Dubbo
- Dubbo 是什么?为什么要用 Dubbo?
- Dubbo 和 Spring Cloud 有什么区别?
- dubbo 都反对什么协定,举荐用哪种?
- Dubbo 内置了哪几种服务容器?
- Dubbo 外面有哪几种节点角色?
- Dubbo 默认应用什么注册核心,还有别的抉择吗?
- Dubbo 次要的配置项有哪些,作用是什么?
- Dubbo 有几种容错机制
- dubbo 的服务降级
- dubbo 的优先级配置
- 等等 ……
注册核心 Zookeeper
- ZooKeeper 是什么?
- ZooKeeper 提供了什么?
- Zookeeper 文件系统
- ZAB 协定?
- 四种类型的数据节点 Znode
- Zookeeper Watcher 机制 — 数据变更告诉
- 客户端注册 Watcher 实现
- 服务端解决 Watcher 实现
- 客户端回调 Watcher
- zookeeper 是如何保障事务的程序一致性的?
- 分布式集群中为什么会有 Master?
- zk 节点宕机如何解决?
- zookeeper 负载平衡和 nginx 负载平衡区别
- Zookeeper 有哪几种几种部署模式?
- 等等 ……
MongoDB
- NoSQL 数据库有哪些类型?
- MySQL 与 MongoDB 之间最根本的差异是什么?
- 分析器在 MongoDB 中的作用是什么?
- MongoDB 在 A:{B,C}上建设索引,查问 A:{B,C}和 A:{C,B}都会应用索引吗?
- MongoDB 反对存储过程吗?如果反对的话,怎么用?
- 如何了解 MongoDB 中的 GridFS 机制,MongoDB 为何应用 GridFS 来存储文件?
- 分片 (sharding) 和复制 (replication) 是怎么工作的?
- 数据在什么时候才会扩大到多个分片 (shard) 里?
- 如果在一个分片 (shard) 进行或者很慢的时候,我发动一个查问会怎么?
- 等等 ……
Redis
- Redis 长久化机制
- 缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题
- 热点数据和冷数据是什么
- Memcache 与 Redis 的区别都有哪些?
- 单线程的 redis 为什么这么快
- redis 的数据类型,以及每种数据类型的应用场景,Redis 内部结构
- redis 的过期策略以及内存淘汰机制
- Redis 为什么是单线程的,长处
- 如何解决 redis 的并发竞争 key 问题
- Redis 集群计划应该怎么做?都有哪些计划?
- 有没有尝试进行多机 redis 的部署?如何保证数据统一的?
- 对于大量的申请怎么样解决
- Redis 常见性能问题和解决方案?
- 解说下 Redis 线程模型
- 为什么 Redis 的操作是原子性的,怎么保障原子性的?
- Redis 事务
- Redis 实现分布式锁
- 等等 ……
SpringCloud
- 什么是 SpringCloud?应用 Spring Cloud 有什么劣势?
- 服务注册和发现是什么意思?Spring Cloud 如何实现?
- 负载平衡的意义什么?什么是 Ribbon?
- 什么是 Hystrix?它如何实现容错?
- 什么是 Netflix Feign?什么是 Open Feign?
- 什么是 Spring Cloud Bus?
- 什么是服务熔断?什么是服务降级?
- Eureka 和 zookeeper 之间的区别
- 什么是 Spring Cloud Gateway?
- 什么是 zuul 路由网关?
- 什么是分布式配置核心?
- 等等 ……
kafka
- 为什么要应用 kafka,为什么要应用音讯队列
- Kafka 中的 ISR、AR 又代表什么?ISR 的伸缩又指什么
- kafka 中的 broker 是干什么的
- kafka follower 如何与 leader 同步数据
- ZooKeeper 在 Kafka 中的作用是什么?
- ZooKeeper 在 Kafka 中的作用是什么?
- Kafka 的 producer 工作流程
- Kafka 的 consumer 工作流程
- 数据失落和反复生产的场景
- Kafka 的数据失落,高可靠性和一致性是怎么实现的
- consumer 端数据失落、数据反复生产 如何解决
- 等等 ……
rabbitMQ
- 什么是 RabbitMQ?
- rabbitmq 的应用场景
- RabbitMQ 基本概念
- RabbitMQ 的工作模式
- 如何保障 RabbitMQ 音讯的程序性?
- 音讯如何散发?
- 音讯怎么路由?
- 音讯基于什么传输?
- 如何保障音讯不被反复生产?或者说,如何保障音讯生产时的幂等性?
- 如何确保音讯正确地发送至 RabbitMQ?如何确保音讯接管方生产了音讯?
- 等等 ……
rocketMQ
- RocketMQ 由哪些角色组成?
- RocketMQ 执行流程
- 请说说你对 Producer 的理解?
- 说说你对 Consumer 的理解?
- 消费者生产模式有几种?
- 消费者获取音讯有几种模式?
- 什么是定时音讯?如何实现?
- RocketMQ 如何保障高可用的?
- 如何保障音讯不被反复生产?或者说如何保障音讯生产时的幂等性?
- 如何保障音讯的可靠性传输?要是音讯失落了怎么办?
- 如何保障音讯的程序性?
- 如何解决音讯队列的延时以及过期生效问题?
- 音讯队列满了当前该怎么解决?有几百万音讯继续积压几小时,说说怎么解决?
- 等等 ……
分库分表之 Mycat,ShardingSphere
- Mycat 是什么?Mycat 的原理?
- ShardingSphere 是什么?ShardingSphere 的原理?
- 什么是程度拆分?什么是垂直拆分?
- 解释一下全局表,ER 表,分片表?
- 进行库表拆分时,拆分规定怎么取舍?
- 说一说 Mycat 和 ShardingSphere 的区别,如何抉择?
- 等等 ……
并发编程
- 并发编程的优缺点
- 线程和过程区别
- 创立线程的四种形式
- Java 内存模型
- 并发关键字 synchronized,volatile,final
- 什么是 CAS,AQS,ReentrantLock,
- ReentrantReadWriteLock
- 并发容器之 ConcurrentHashMap,SynchronizedMap,CopyOnWriteArrayList,ThreadLocal,BlockingQueue,ConcurrentLinkedQueue,ArrayBlockingQueue 与 LinkedBlockingQueue
- 线程池相干问题
- 并发工具
- 等等 ……
并发编程相干知识点问了很多,就不一一列举了,反正问的我很懵逼~
Nginx
- 什么是 Nginx,作用是什么?
- Nginx 自带反对的负载平衡法令
- Nginx 怎么配置动静拆散服务器
- Nginx 平安配置形式
- fastcgi 与 cgi 的区别?
- Nginx 常用命令?
- 什么是正向代理和反向代理
- Nginx 是如何实现高并发的
- 等等 ……
- Nginx 如何解决 HTTP 申请
Docker&K8s
- 什么 Docker, 和虚拟机有什么区别?
- 什么是 Docker 镜像
- Docker 容器有几种状态
- 解释一下 dockerfile 的 ONBUILD 指令
- 如何在生产中监控 Docker
- Docker 和 K8s 相干的知识点问的比拟少,就大抵理解了一下。
- 什么是 Kubernetes?与 Docker 有什么关系?
- Kubernetes 如何简化容器化部署?
- 你对 Kubernetes 的集群理解多少?
精品资源分享
为了对本人孱弱的技术栈做一个充沛的补充,我费了九牛二虎之力在网上或买或求搞来很多精品资源。
以上材料关注公众号,回复【8888】,即可收费获取。