Kubernetes 常见面试题汇总
-
简述 Kubernetes 和 Docker 的关系
-
简述 Kubernetes 中什么是 Minikube、Kubectl、Kubelet
-
简述 Kubernetes 如何实现集群管理
-
简述 Kubernetes 集群相关组件
-
简述 Kubernetes Replica Set 和 Replication Controller 之间有什么区别
-
简述 Kubernetes Pod 的 LivenessProbe 探针的常见方式
MyBatis 面试题
-
1、什么是 Mybatis?
Mybatis是一个优秀的持久层框架,它对JDBC操作数据库的过程进行封装,使开发者只需要关注sql本身
-
2、Mybaits 的优点:
减少了代码量
-
3、MyBatis 框架的缺点:
SQL语句的编写工作量较大,尤其是字段多、关联表多时
SQL语句依赖于数据库,导致数据库移植性差,不能随意更换数据库
-
4、MyBatis 框架适用场合:
MyBatis专注于SQL本身,是一个足够灵活的DAO层解决方案。
对性能的要求很高,或者需求变化较多的项目,如互联网项目,MyBatis将是不错的选择。
-
5、MyBatis 与 Hibernate 有哪些不同?
Mybatis 直接编写原生态 sql,可以严格控制 sql 执行性能,灵活度高,非常
适合对关系数据模型要求不高的软件开发,因为这类软件需求变化频繁,一但需
求变化要求迅速输出成果。但是灵活的前提是 mybatis 无法做到数据库无关性,
如果需要实现支持多种数据库的软件,则需要自定义多套 sql 映射文件,工作量大
Hibernate 对象/关系映射能力强,数据库无关性好,对于关系模型要求高的
软件,如果用 hibernate 开发可以节省很多代码,提高效率。
-
6、#{}和${}的区别是什么?
#{} 占位符 :sql 预编译, ${} 拼接符 :sql 拼接
#{} 对应的变量自动加上单引号 '' , ${} 对应的变量不会加上单引号 ''
#{} 能防止sql 注入 , ${} 不能防止sql 注入
-
7、当实体类中的属性名和表中的字段名不一样 ,怎么办 ?
-
8、 模糊查询 like 语句该怎么写?
(1)'%${question}%' 不推荐
(2)CONCAT('%',#{question},'%') 推荐
(3) NAME like '%'|| #{name} || '%'
ZooKeeper 面试题
ZooKeeper 是一个开源的分布式协调服务,由雅虎创建,是 Google Chubby 的开源实现。分布式应用程序可以基于 ZooKeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、配置维护,名字服务、分布式同步、分布式锁和分布式队列等功能。
-
zookeeper 负载均衡和 nginx 负载均衡区别
-
Zookeeper Watcher 机制--数据变更通知
-
客户端注册 Watcher 实现
-
zookeeper 是如何保证事务的顺序一致性的?
-
Zookeeper 对节点的 watch监听通知是永久的吗?为什么不是永久的?
-
zk 节点宕机如何处理?
Dubbo 面试题
Spring Eureka 从开源转变为闭源,Consul 正在崛起,而 Dubbo 又开始重新更新。目前市场上仍有不少公司使用dubbo我们也需要继续学习。
-
为什么要用 Dubbo?
-
默认使用的是什么通信框架,还有别的选择吗?
-
服务调用是阻塞的吗?
-
一般使用什么注册中心?还有别的选择吗?
-
默认使用什么序列化框架,你知道的还有哪些?
-
Dubbo 的整体架构设计有哪些分层?
Elasticsearch 面试题
-
elasticsearch 了解多少,说说你们公司 es 的集群架构,索引数据大小,分片有多少,以及一些调优手段 。
-
elasticsearch 索引数据多了怎么办,如何调优,部署
-
elasticsearch 是如何实现 master 选举的
-
Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法
-
详细描述一下 Elasticsearch 更新和删除文档的过程。
-
Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法?
Redis面试题
随着应用研发技术的不断成熟,Redis 缓存技术已经成为后台研发同学必备的能力之一。在很多公司面试的过程中,都必不可少地考察 Redis 知识点的掌握。
-
使用 Redis 有哪些好处?
-
Redis 是单进程单线程的?
-
Redis 的持久化机制是什么?各自的优缺点?
-
Redis 常见异常问题和解决方案(雪崩,穿透...)
-
redis 过期键的删除策略?
-
为什么 redis 需要把所有数据放到内存中?
-
Redis 集群的主从复制模型是怎样的?
-
Redis key 的过期时间和永久有效分别怎么设置?
MySQL 面试题
如今互联网行业用的最多就是 MySQL,然而对于高级 Web 面试者,尤其对于寻找 30k 下工作的求职者,很多 MySQL 相关知识点基本都会涉及,如果面试中,你的相关知识答的模糊和不切要点,基本大多稍好公司的面试官,基本也不会对你有兴趣,毕竟稍微量大的项目,最终都会让你去深入数据库,而且最终的大多瓶颈首先也会出现在数据库。
-
MySQL 相关存储引擎。
-
MySQL 索引实现原理。
-
MySQL 数据库锁。
-
MySQL 的 SQL 调优。
-
MySQL 分表分库全局 ID。
Java 并发编程面试题
-
在 java 中守护线程和本地线程区别?
-
什么是多线程中的上下文切换?
-
Java 中用到的线程调度算法是什么?
-
什么是线程组,为什么在 Java 中不推荐使用?
-
在 Java 中 Executor 和 Executors 的区别?
-
并发编程三要素?
-
什么是线程池?有哪几种创建方式?
Spring 面试题
-
\1. 谈谈对 Spring IoC 的理解?
-
\2. 谈谈对 Spring DI 的理解?
-
\3. BeanFactory 接口和 ApplicationContext 接口不同点是什么?
-
\4. 请介绍你熟悉的 Spring 核心类,并说明有什么作用?
-
\5. 介绍一下 Spring 的事务的了解?
-
\6. 介绍一下 Spring 的事务实现方式?
-
7.什么是 Spring 的依赖注入?
JVM面试题
-
JVM三大性能调优参数,JVM 几个重要的参数
-
JVM调优
-
JVM内存管理,JVM的常见的垃圾收集器,G1垃圾收集器。GC调优,Minor GC ,Full GC 触发条件
-
Java内存模型
-
Java垃圾回收机制
-
描述JVM中一次Full gc过程
-
Java 中都有哪些引用类型?
-
JVM中类加载机制,类加载过程,什么是双亲委派模型?,类加载器有哪些
-
如何判断是否有内存泄露?定位 Full GC 发生的原因,有哪些方式?
Spring Cloud 面试题
-
什么是Spring Cloud?
-
使用Spring Cloud有什么优势?
-
服务注册和发现是什么意思?Spring Cloud如何实现?
-
负载平衡的意义什么?
-
什么是Hystrix?它如何实现容错?
-
什么是Hystrix断路器?我们需要它吗?
-
什么是Netflix Feign?它的优点是什么?
-
什么是Spring Cloud Bus?我们需要它吗?
Kafka面试题
-
Kafka 与传统 MQ 消息系统之间有三个关键区别?
-
讲一讲 kafka 的 ack 的三种机制?
-
消费者故障,出现活锁问题如何解决?
-
kafka 分布式(不是单机)的情况下,如何保证消息的顺序消费?
-
kafka 如何不消费重复数据?比如扣款,我们不能重复的扣。
1、京东:线程池应该如何设置优化性能才会更好?
2、京东:Netty的线程模型是怎样的,与Redis线程模型有区别吗?
3、腾讯:Netty如何支持单机百万连接?Netty的内存池是怎么实现的?
4、阿里:Nacos如何支撑阿里巴巴内部上百万服务实例的访问?
5、阿里:Nacos高并发异步注册架构知道如何设计的吗?
6、阿里:Sentinel高可用架构底层熔断降级如何实现的?
7、阿里:Sentinel底层滑动时间窗限流算法怎么实现的?
8、腾讯:如何用Redis高效实现12306的复杂售票业务?
9、微博:新浪微博突发事件如何做好Redis缓存的高可用?
10、微博:高并发场景缓存穿透&失效&雪崩如何解决?
11、京东:Redis缓存与数据库双写不一致如何解决?
12、京东:Redis底层ZSet跳表是如何设计与实现的?
13、腾讯:基于Redis如何实现高并发分布式锁?
14、美团:说下Netty如何实现长连接心跳保活机制?
15、阿里:说下Netty零拷贝的原理?
16、拼多多:基于Netty如何设计微信钉钉后端高并发IM架构?