面试题: 复盘

背景

记录生活, 复盘面试.

面试流程

基本都是通用的流程, 自我介绍之后就开始问答模式了.

自我介绍

我叫xxx, xxxx年毕业于xxx, 毕业后一直从事软件开发的相关工作. 早期也做过一段时间的全栈开发的工作.

上家公司就职于xxx, 主要做得事华为外包业务. 个人技术栈主要偏向Java后端开发这一块, 前端开发也参与过一些.

  • 基础/进阶: 比如Java基础, 反射, 集合框架等. 以及多线程相关工作经验.
  • 框架: 使用框架就是最主流的Spring, SpringBoot, SpringCloud微服务架构体系. 数据层: MybatisPlus, Hibenate, SpingJPA都使用过.
  • 数据库: 数据库这几年主要用的是MySQL, 早期Oracle, 达梦的一些数据库都使用过. 在工作中有过一些SQL优化的经验.
  • 中间件: 缓存中间件Redis, 消息中间件 Kafka, RabbitMQ都使用过.
  • 运维: 熟练使用Linux操作系统. K8S Docker 工作中都实际使用过.
  • 前端: HTML, CSS, JS熟练使用. 前端框架 jQuery, ExtJS, VueJS 也能熟练使用.

问答

自我介绍后基本就进入问答模式了.

问题1: 微服务结构体系你们主要是怎么用的? 最常用的组件有哪些?

注册中心: Eureka

网关: Zuul

服务件通信: OpenFeign

负债均衡: Ribbon

熔断降级: Hystrix

配置中心: Config

问题2: 注册中心的锤子对比? 优缺点?

问题3: Eureka核心原理?

问题4: 心跳检测? 是谁给谁发消息?

我猜是: 注册中心区发送. 都可以.

问题5: 服务降级是怎么用的?

配置, 然后重写降级的方法.

问题6: 服务间通信超时的配置

配置这谁还记得呀

问题7: Spring如何解决循环依赖的问题?

二级缓存, 三级缓存.

问题8: 有没有遇到过线上OOM问题的?

发现:

排查:

解决:

问题9: 线程池的核心参数有哪些? 原理也介绍一下?

核心线程

最大线程

存活时间

单位

线程工厂

抛弃策略

问题10: MySQL优化经验?

问题11: 执行计划核心看哪几个字段?

问题12: 聚集索引和非聚集索引区别?

必须有聚集索引. 比如表没有主键会自己生成一个.

问题13: 带团队经验?

正常回答就行.

其他拓展

比如Spring如何解决循环依赖, 生命周期介绍?

比如线程池的核心参数是如何确定的?

相关推荐
极光代码工作室1 小时前
基于SpringBoot的课程预约系统
java·springboot·web开发·后端开发
Leighteen1 小时前
`try-finally` 里的 `return`:为什么 `finally` 会悄悄改掉返回值、吞掉异常
java·开发语言
名字还没想好☜2 小时前
Go 的 time.After 在 select 循环里内存泄漏:定时器堆积原理与 timer.Reset 正确姿势
java·数据库·golang·go·goroutine
圆山猫2 小时前
[Virtualization](三):RISC-V H-extension 与 Guest 执行模式
android·java·risc-v
caishenzhibiao3 小时前
期货先行者主图 同花顺期货通指标
java·c语言·c#
史呆芬3 小时前
分布式事务实战:微服务跨服务数据一致性解决方案
java·后端·spring cloud
IT界的老黄牛3 小时前
限流命中后该怎么办:直接丢、阻塞等待、延迟重投三种姿势的取舍
java·rocketmq·redisson·令牌桶·削峰·分布式限流
daad7774 小时前
记录matlab状态机demo
java·网络·matlab
牡丹雅忻14 小时前
AES 加密模式演进:从 ECB、CBC 到 GCM 的 C# 深度实践
java·开发语言·c#
学者猫头鹰5 小时前
Java 8 核心新特性
java