牛逼的来了!
一面:
- 介绍一下自己;
- 问项目经历, 聊"数据同步"
- 接着聊上了 K8S 的项目
- 有没有什么钻研得比较深的技术?
- kubernetes 的架构是怎么样的?
- golang 与 java 的比较
- golang 的 gc 算法
- 怎么扩展 kubernetes scheduler, 让它能 handle 大规模的节点调度?
- 你有什么想问我的?
二面:
- 先聊了聊项目。
- 给 Prometheus 做了哪些改动?
- 自研配置中心, 具体做了哪些内容?
- 有用过 MySQL 的什么高级特性吗?
- 配置中心的核心数据表是怎么设计的?
- 为什么在业务里用 Redis, Redis 有什么优点?
- 对 Redis 里数据结构的实现熟悉吗?
- 用过 Redis 的哪些数据结构, 分别用在什么场景?
- Java 初始化一个线程池有哪些参数可以配置, 分别是什么作用?
- 自己写的 Java 应用调优过哪些 JVM 参数, 为什么这么调优?
- 用 Jetty 的时候有没有配什么参数, 为什么这么配?
- Jetty QTP 等待队列配置成无限的话, 你觉得好吗? 会有什么问题吗?
- 用过 Linux Bash 里的哪些命令, 分别用它们干嘛?
一道笔试题: 需要在给的链接中作答, 不能 google, 不能跳出, 不能用 IDE: 用 Java 的 wait + notify 机制实现;
题目如下:
启动两个线程, 一个输出 1,3,5,7…99, 另一个输出 2,4,6,8…100 最后 STDOUT 中按序输出 1,2,3,4,5…100
三面:
- 依然先聊项目,对监控警报的项目很感兴趣, 问了挺多细节, 最后问了一个问题: 现在要你实现一个语义不弱于 PromQL 的查询语言, 你能实现吗?
- 你觉得做得最深入的项目是什么?
- 聊数据同步项目
- Linux 掌握得怎么样?
- Golang 掌握得怎么样?
- 问算法掌握得怎么样?
- 问最短路算法
- k8s 掌握得怎么样?
- k8s 的 exec 是怎么实现的?
四面:
- 介绍一下自己;
- 觉得自己基础知识掌握怎么样?
- 平时一般会用到哪些数据结构?
- 链表和数组相比, 有什么优劣?
- 如何判断两个无环单链表有没有交叉点?
- 如何判断两个有环单链表有没有交叉点?
- 如何判断一个单链表有没有环, 并找出入环点
- TCP 和 UDP 有什么区别?
- 描述一下 TCP 四次挥手的过程中
- TCP 有哪些状态?
- TCP 的 LISTEN 状态是什么?
- TCP 的 CLOSE_WAIT 状态是什么?
- 建立一个 socket 连接要经过哪些步骤?
- 常见的 HTTP 状态码有哪些?
- 301和302有什么区别?
- 504和500有什么区别?
- HTTPS 和 HTTP 有什么区别?
- 手写快排
五面:
- 介绍一下自己
- 在 k8s 上做过哪些二次开发?
- 自己用 Helm 构建过 chart 吗?有哪些?
- 有没有考虑过自己封装一个面向研发的 PaaS 平台?
- 配置中心做了什么?
- 为什么不用 zookeeper?
- 配置中心如何保证一致性?
- Spring 里用了单例 Bean, 怎么保证访问 Bean 字段时的并发安全?
- 假如我还想隔离两个线程的数据, 怎么办?
- Golang 里的逃逸分析是什么?怎么避免内存逃逸?
- Golang 的 GC 触发时机是什么?
- 有没有写过 k8s 的 Operator 或 Controller?
- 谈一谈你对微服务架构的理解;
- 谈一谈你对 Serveless 的理解;
- 最后你有什么要问我的?
最后
咋样,看完这些面试题?有没有兴趣去试试呢?
针对最近很多人都在面试,我这边也整理了相当多的面试专题资料,也有其他大厂的面经。希望可以帮助到大家。
上述的面试题答案都整理成文档笔记。 也还整理了一些面试资料&最新2020收集的一些大厂的面试真题(都整理成文档,小部分截图),有需要的可以关注下方公众号自行获取
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。