java项目的测试和部署_985毕业工作一年,测试岗转Java开发,蚂蚁金服五面直接拿到offer...

背景

声明:文中面试并非本人,面经,学习笔记都是真实存在,不喜勿喷相互尊重的都是大佬!!java项目的测试和部署_985毕业工作一年,测试岗转Java开发,蚂蚁金服五面直接拿到offer..._第1张图片

985毕业工作刚好一年,之前是做测试后面转开发,做测试的时候就一直背开发的锅,害现在我也算是个人上人了。7月蚂蚁金服上市后的一周我投了Java岗后端开发,本来是想涨涨面试经验,没想到运气这么好直接拿了offer,下面我会分享我的面试经历和面试前后整理的资料,

一面:

1、介绍一下自己;

2、问项目经历, 聊"数据同步"

3、接着聊上了 K8S 的项目

4、有没有什么钻研得比较深的技术?

5、kubernetes 的架构是怎么样的?

6、golang 与 java 的比较

7、golang 的 gc 算法

8、怎么扩展 kubernetes scheduler, 让它能 handle 大规模的节点调度?

9、你有什么想问我的?b9a9b223c8db6e62e9cb3b8f4e1df35f.pngK8S实践篇java项目的测试和部署_985毕业工作一年,测试岗转Java开发,蚂蚁金服五面直接拿到offer..._第2张图片

K8S实践篇java项目的测试和部署_985毕业工作一年,测试岗转Java开发,蚂蚁金服五面直接拿到offer..._第3张图片

java项目的测试和部署_985毕业工作一年,测试岗转Java开发,蚂蚁金服五面直接拿到offer..._第4张图片

二面:

1、先聊了聊项目。

2、给 Prometheus 做了哪些改动?

3、自研配置中心, 具体做了哪些内容?

4、有用过 MySQL 的什么高级特性吗?

5、配置中心的核心数据表是怎么设计的?

6、为什么在业务里用 Redis, Redis 有什么优点?

7、对 Redis 里数据结构的实现熟悉吗?

8、用过 Redis 的哪些数据结构, 分别用在什么场景?

9、Java 初始化一个线程池有哪些参数可以配置, 分别是什么作用?

10、自己写的 Java 应用调优过哪些 JVM 参数, 为什么这么调优?

11、用 Jetty 的时候有没有配什么参数, 为什么这么配?

12、Jetty QTP 等待队列配置成无限的话, 你觉得好吗? 会有什么问题吗?

13、用过 Linux Bash 里的哪些命令, 分别用它们干嘛?

14、一道笔试题: 需要在给的链接中作答, 不能 google, 不能跳出, 不能用 IDE: 用 Java 的 wait + notify 机制实现;

题目如下:

启动两个线程, 一个输出 1,3,5,7…99, 另一个输出 2,4,6,8…100 最后 STDOUT 中按序输出 1,2,3,4,5…100

这里的话我主要整理了MySql,JVM调优笔记,Redis核心笔记MySQL 常用对象java项目的测试和部署_985毕业工作一年,测试岗转Java开发,蚂蚁金服五面直接拿到offer..._第5张图片

MySQL体系结构,存储引擎及SQL优化java项目的测试和部署_985毕业工作一年,测试岗转Java开发,蚂蚁金服五面直接拿到offer..._第6张图片

MySQL缓存,参数调整及锁java项目的测试和部署_985毕业工作一年,测试岗转Java开发,蚂蚁金服五面直接拿到offer..._第7张图片

MySQL 常用工具、主从复制及综合案例java项目的测试和部署_985毕业工作一年,测试岗转Java开发,蚂蚁金服五面直接拿到offer..._第8张图片

JVM调优笔记

java项目的测试和部署_985毕业工作一年,测试岗转Java开发,蚂蚁金服五面直接拿到offer..._第9张图片

Redis核心笔记

java项目的测试和部署_985毕业工作一年,测试岗转Java开发,蚂蚁金服五面直接拿到offer..._第10张图片

三面:

1、依然先聊项目,对监控警报的项目很感兴趣, 问了挺多细节, 最后问了一个问题: 现在要你实现一个语义不弱于 PromQL 的查询语言, 你能实现吗?

2、你觉得做得最深入的项目是什么?

3、聊数据同步项目

4、Linux 掌握得怎么样?

5、Golang 掌握得怎么样?

6、问算法掌握得怎么样?

7、问最短路算法

8、k8s 掌握得怎么样?

9、k8s 的 exec 是怎么实现的?

四面:

1、介绍一下自己;

2、觉得自己基础知识掌握怎么样?

3、平时一般会用到哪些数据结构?

4、链表和数组相比, 有什么优劣?

5、如何判断两个无环单链表有没有交叉点?

6、如何判断两个有环单链表有没有交叉点?

7、如何判断一个单链表有没有环, 并找出入环点

8、TCP 和 UDP 有什么区别?

9、描述一下 TCP 四次挥手的过程中

10、TCP 有哪些状态?

11、TCP 的 LISTEN 状态是什么?

12、TCP 的 CLOSE_WAIT 状态是什么?

13、建立一个 socket 连接要经过哪些步骤?

14、常见的 HTTP 状态码有哪些?

15、301和302有什么区别?

16、504和500有什么区别?

17、HTTPS 和 HTTP 有什么区别?

18、手写快排

HTTP全解

java项目的测试和部署_985毕业工作一年,测试岗转Java开发,蚂蚁金服五面直接拿到offer..._第11张图片

java项目的测试和部署_985毕业工作一年,测试岗转Java开发,蚂蚁金服五面直接拿到offer..._第12张图片

java项目的测试和部署_985毕业工作一年,测试岗转Java开发,蚂蚁金服五面直接拿到offer..._第13张图片

五面:

1、介绍一下自己

2、在 k8s 上做过哪些二次开发?

3、自己用 Helm 构建过 chart 吗?有哪些?

4、有没有考虑过自己封装一个面向研发的 PaaS 平台?

5、配置中心做了什么?

6、为什么不用 zookeeper?

7、配置中心如何保证一致性?

8、Spring 利用了单例 Bean, 怎么保证访问 Bean 字段时的并发安全?

9、假如我还想隔离两个线程的数据, 怎么办?

10、Golang 里的逃逸分析是什么?怎么避免内存逃逸?

11、Golang 的 GC 触发时机是什么?

12、有没有写过 k8s 的 Operator 或 Controller?

13、谈一谈你对微服务架构的理解;

14、谈一谈你对 Serveless 的理解;

15、最后你有什么要问我的?

微服务架构笔记SpringCloud 微服务架构1---注册与发现篇(Eureka,Ribbon)java项目的测试和部署_985毕业工作一年,测试岗转Java开发,蚂蚁金服五面直接拿到offer..._第14张图片

SpringCloud 微服务架构2---Spring Cloud Netflix篇(Feign,Hystrix)java项目的测试和部署_985毕业工作一年,测试岗转Java开发,蚂蚁金服五面直接拿到offer..._第15张图片

SpringCloud 微服务架构3---微服务网关篇java项目的测试和部署_985毕业工作一年,测试岗转Java开发,蚂蚁金服五面直接拿到offer..._第16张图片

SpringCloud 微服务架构4---Spring Cloud Stream篇java项目的测试和部署_985毕业工作一年,测试岗转Java开发,蚂蚁金服五面直接拿到offer..._第17张图片

总结

面试本质是一个自我优势展示的过程,不要把面试变成面试官问一句自己回答一句,主动抛出一些可能的点等面试官来问,比如我基本都被问到了DB和缓存之间怎么保证数据的一致性,其实都是我自己刻意往上引的,比如面试官说,你用过Redis吗,你可以说,用过,一般用来作为缓存配合MySQL提高性能,需要注意它们之间数据的一致性问题(不要太刻意,自己把握分寸),面试官大概率会接着问你是怎么保证的java项目的测试和部署_985毕业工作一年,测试岗转Java开发,蚂蚁金服五面直接拿到offer..._第18张图片

你可能感兴趣的:(java项目的测试和部署)