写点什么

不可思议!我靠这些笔记练手,竟然拿到了蚂蚁 Java 岗后端开发 offer

发布于: 2021 年 02 月 22 日

背景



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


一键三连+评论,然后添加我的 VX(tkzl6666)即可免费领取。




1、介绍一下自己;


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


3、接着聊上了 K8S 的项目


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


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


6、golang 与 java 的比较


7、golang 的 gc 算法


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


9、你有什么想问我的?


面试前后我整理了 kubernetes(k8s)深入笔记,感觉 K8s 问的特别多


  • K8S 实践篇



  • K8S 实践篇




二面:


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 常用对象



  • MySQL 体系结构,存储引擎及 SQL 优化



  • MySQL 缓存,参数调整及锁



  • MySQL 常用工具、主从复制及综合案例



JVM 调优笔记



Redis 核心笔记



三面:


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 全解





五面:


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)



  • SpringCloud 微服务架构 2---Spring Cloud Netflix 篇(Feign,Hystrix)



  • SpringCloud 微服务架构 3---微服务网关篇



  • SpringCloud 微服务架构 4---Spring Cloud Stream 篇



总结


面试本质是一个自我优势展示的过程,不要把面试变成面试官问一句自己回答一句,主动抛出一些可能的点等面试官来问,比如我基本都被问到了 DB 和缓存之间怎么保证数据的一致性,其实都是我自己刻意往上引的,比如面试官说,你用过 Redis 吗,你可以说,用过,一般用来作为缓存配合 MySQL 提高性能,需要注意它们之间数据的一致性问题(不要太刻意,自己把握分寸),面试官大概率会接着问你是怎么保证的


一键三连+评论,然后添加我的 VX(tkzl6666)即可免费领取。




用户头像

微信:tkzl6666 添加获取你想要的Java资料 2019.01.29 加入

添加VX(tkzl6666 ) 获取大厂面试真题,面试复习资料,Java进阶资料,Java实战项目。

评论 (1 条评论)

发布
用户头像
不可思议!我靠这些笔记练手,竟然拿到了蚂蚁 Java 岗后端开发 offer
2021 年 02 月 22 日 14:38
回复
没有更多了
不可思议!我靠这些笔记练手,竟然拿到了蚂蚁Java岗后端开发offer