阿里6面字节3面我凭着这把这些Java面试题刷完终于拿到了offer(面经分享)

本文是一篇关于Java面试的面经分享,作者经历了阿里巴巴的6轮面试和字节跳动的3轮面试,涵盖了从基础到高级的各种Java相关问题,包括Kubernetes、Golang、Redis、Java并发、数据库、面试策略等。通过面试,作者深入探讨了技术点,并反思了自己的面试表现和经验教训。
摘要由CSDN通过智能技术生成

阿里6面字节3面我凭着这把这些Java面试题刷完终于拿到了offer(面经分享)

蚂蚁面试前

蚂蚁的面试挺独特,每轮面试都没有 HR 约时间,一般是晚上 8 点左右面试官来一个电话,问是否能面试,能的话开始面,不能就约一个其它时间。全程 6 面,前五面技术面,电话面试,最后一面是 HR 面,现场面。
面经资料
我在这里分享一个,有很多干货,包含jvm,netty,spring,线程,spring cloud等详细讲解,也有详细的学习规划图,面试题整理等,我感觉在面试这块讲的非常清楚:获取面试资料只需:点击这里领取!!! 暗号:CSDN在这里插入图片描述

一面

介绍一下自己
问项目经历, 聊”数据同步”
接着聊上了 K8S 的项目
有没有什么钻研得比较深得技术?(我:kubernetes, golang, prometheus, java)
kubernetes 的架构是怎么样的?这个问题很大,拆成 apiserver、controller、kubelet、scheduler 讲了一下
golang 与 java 的比较, 这个问题又很大,当时主要对比了 vm、协程支持、面向对象和泛型的区别、以及自己对各自使用场景的一些理解
golang 的 gc 算法, 知道是三色标记,不过细节说不上来
从无限的字符流中, 随机选出 10 个字符, 没见过也没想出来,查了一下是蓄水池采样算法,经典面试题,没刷题吃亏了
怎么扩展 kubernetes scheduler, 让它能 handle 大规模的节点调度
单节点提速:优选阶段随机取部分节点进行优选;水平扩展 scheduler 节点,pod 做一致性 hash 来决定由哪个 scheduler 调度
你有什么想问我的?

一面其实有点僵,我自己完全没放开,面试官对我的回答没有什么反馈和深入,都是”哦好的”然后就过了。所以我当时面完觉得自己其实已经挂了(我自己要是对候选人不感兴趣,有时候也就问完问题走个过场溜了),后来收到二面电话着实吃惊了一下。

二面

先聊了聊项目
给 Prometheus 做了哪些改动?
自研配置中心, 具体做了哪些内容?
有用过 MySQL 的什么高级特性吗?这里不太理解,我问什么算高级特性,面试官就切换到了下一个问题
配置中心的核心数据表是怎么设计的?
为什么在业务里用 Redis, Redis 有什么优点?
单线程:并发安全;高性能;原语与数据结构丰富;采用广泛,踩坑成本低
对 Redis 里数据结构的实现熟悉吗?说了一个 zset 跳表
用过 Redis 的哪些数据结构, 分别用在什么场景?
Java 初始化一个线程池有哪些参数可以配置, 分别是什么作用?
自己写的 Java 应用调优过哪些 JVM 参数, 为什么这么调优?这个问住了,我只知道最大堆最小堆,开 G1,开 GC 日志以及 OOM dumper 这些基本的
用 Jetty 的时候有没有配什么参数, 为什么这么配?
Jetty QTP 等待队列配置成无限的话, 你觉得好吗? 会有什么问题吗?
用过 Linux Bash 里的哪些命令, 分别用它们干嘛?
一道笔试题: 需要在给的链接中作答, 不能 google, 不能跳出, 不能用 IDE:
题目是这样的:
启动两个线程, 一个输出 1,3,5,7…99, 另一个输出 2,4,6,8…100 最后 STDOUT 中按序输出 1,2,3,4,5…100
我: 我用 Go 实现吧
面试官: 不可以,用 Java 的 notify 机制实现
我: (还没意识到问题的严峻) 那我用 Java BlockingQueue
面试官:说不可以, 要求用 Java 的 wait + notify 机制来实现
我完全没写过 wait + notify,只能表示不会(菜鸡本鸡了), 面试官说那行吧你可以用 go 写
最后用 go channel 实现了一版, 不过给的网页上不能运行代码,也不知道写得对不对,然后面试结束。
这一轮面试官延续了一面的风格,问完一题就赶忙下一题了,似乎没有表现出对我的回答有兴趣或认可。因此这轮面完,我又觉得自己挂了…

三面

依然先聊项目
对监控警报的项目很感兴趣, 问了挺多细节, 最后问了一个问题: 现在要你实现一个语义不弱于 PromQL 的查询语言, 你能实现吗?
这里虽然看过一些 Prometheus 的代码,但其实对 PromQL 的 lexer 和 parser 部分没有细看,还好之前因为数据同步项目里想写声明式 Stream SQL 研究过一点 ANTLR,用 ANTLR 写语法

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值