网站首页 > java教程 正文
我是一个不太爱折腾的人,因此在一个公司待久了,就不太会轻易跳槽。正因为如此,我在上家公司待了整整三年,在这里,认识了一群可爱的人,便更不舍得离去。
但因为公司属于传统企业,技术上并没有太大挑战,个人也逐渐遇到了职业瓶颈,我也渐渐体会到了温水煮青蛙的感觉,看似自己已经成为团队的主程,其实与同龄人的差距越拉越大,于是依然决定换个环境。
阿里巴巴作为国内最大的互联网公司,是无数程序员的梦想,于是在七月份便投了阿里旗下菜鸟网络的简历,一个菜鸟便开始了菜鸟网络的面试之旅。
一面
接到菜鸟的面试电话时,还是很激动的,因为之前从来没有面试大厂的经验,便在忐忑不安中开始了面试。
面试官先让我聊了聊最近的项目,我便把项目讲了下,面试官便以此为切入点,问了一下相关的知识
- http 协议 转 dubbo 协议 怎么做的
- dubbo 的架构设计说一下
- mq 通知时,消费者没消费到怎么办
- redis 是单线程了吗?有什么好处
- 一般设置过期时间吗,业务场景有哪些,过期策略有哪些
- redis 持久化了解不,你们线上怎么用的
- 你们线上为什么这么用?只用AOF行不行
- 你有什么想问的?
一面大概用了半个小时,整体没有太大难度,更多是聊了一些项目上的东西,做了一个初步了解。
二面
没想到二面来的如此之快,一面结束的第二天,电话就打来了,当时我还在公交车上,便在车停站时赶紧下车,当时还下着蒙蒙细雨,我也顾不上那么多了,找个了稍微安静的角落就开始了面试。
二面问的技术面比较广,先让我聊了最近做的项目,以及让我讲了下项目中用到的单点登录的流程,接着就是java基础了
- 抽象类和接口你倾向用哪个?什么场景下用抽象类
- 如何更好的实现一个单例
- synchronized 和 lock 区别
- 公平锁和非公平锁
- 怎么实现自定注解
- 类加载机制
- 如何实现自己的classloader
- 如何动态加载类
- 如何触发full gc
- 用jvm命令如何触发
最后聊了一些开放性的问题
- 了解过netty吗
- 微服务了解过吗,Service Mesh呢
- 五亿数据,找出数量top100
- 10G数据,在内存小于10G如何分片
- 分片处理完如何汇总
- 分布在多个节点上如何汇总
- 哈希取模如何哈希?哈希冲突怎么办?能完全解决哈希冲突吗
- 数据库乐观锁和悲观锁
- 秒杀系统如何设计?
- redis分布式锁如何玩?超时时间如何设置
- zk的监听原理,你来实现你怎么做
- 主动推送怎么实现
整个面试聊下来,感觉还算不错,基本都回答出来了。
三面
大概又过来一周,hr通知要到现场面,约的是上午十点,为了能准时赶到,我提前一天去了杭州。
第二天早早的就起来了来到了面试地点,因为来的比较早,就坐在菜鸟大楼的外面等。七月的杭州似乎格外的热,看着菜鸟大厦的人进进出出,每个人似乎都很忙,我不由的想,自己今后是否有幸也能成为他们中的一员。
三面的形式完全出乎我意料,来了两个面试官,先做了自我介绍,便开始了面试。
整个面试过程都让我在黑板上画图讲解,他们会不间断的提问并做记录。
先是让我画了项目的架构图,面试官指出了我项目中存在的一些问题问我如何解决,然后穿插着对项目中用到的一些技术进行提问
- 消息如何保证一定被消费,如何没有消费到怎么办
- Redis 怎么保证不丢数据,能不能保证严格意义的一定不会丢
- Redis 集群,生产环境Redis 如何做数据迁移
- 一致性hash算法
- 数据库是怎么保证一定不会丢失数据的
- 浏览器敲入一个域名,尽可能详情的说下接下来网络协议层面发生了什么
- 了解过哪些锁,volatile 说下
三面持续了大概一个小时,面的不太好,主要是网络协议那一块,我回答的太烂了
四面
四面是一个看起来非常平易近人的大叔,全程微笑和我聊天,没有一点架子,应该是 Team Leader。
整个过程没有聊技术细节,主要聊了一些技术的方向,业务的理解,过往的经历。整个过程还是聊的很愉快的。
复盘
整个面试过程问的知识点并不算难,也没有很偏的题,很多都是开放性的问题。
例如redis在生产环境做数据迁移,一个只看过几篇博客的人和一个确实亲身经历过这种场景的人,回答的绝对有差别,而正是这种问题,才能看出来差距。
遗憾的是最后还是没通过面试,我觉得原因主要如下
- 面试阿里过于匆忙,没有做好准备,也没有先拿小公司练手
- 基础知识仍有欠缺,例如网络协议和算法一直都是我的弱项
- 因为一直在传统企业,缺乏互联网项目实战经验,虽然自己看过许多这方面的知识,知识广度还算可以,但更多是纸上谈兵,缺乏实践
- 四面时自己犯了一个严重的错误,因为面试官属于比较和气且聊得来的类型,导致我在聊天的过程中过于随意,说话没有做到有的放矢,该说的不该说的都说了,给人一种过于浮躁的感觉。
面试要注意什么
在我看来,面试不仅仅是实力加运气,个人发挥也很重要,有的人面试经常能发挥百分之一百二的实力,我总结了几点
- 不卑不亢,面试是一个互相认同的过程,既不能狂妄自大,也不要妄自菲薄。
- 讲话要有逻辑,做到条理清晰,层次分明。我身边有同事技术明明不差,但讲问题时却抓不到重点,听他说话总让人有种一头雾水的感觉。
- 个人外在情绪展现可以随着面试官情绪稍作调整,这样易于拉近和面试官的关系。但你的内在情绪不应该受影响,自信,沉稳应该一直保持。
- 遇到不是特别清楚的,可以讲一下自己的思路,或者在征求面试官同意的情况下,讲一下类似问题的解决方案。
- 如果问题实在不会,不要强答,直接说不会,要及时止损,避免越陷越深。
- 面试有一定的运气成分,但可以引导面试官到自己擅长的方向上去,但不要强行带节奏。
准备了2个多月的面试资料分享
每当我有朋友或者是同学们面试过大厂之后,我都会他们在面试过程中遇到的问题给记录下来,所以整理了一系列的文档,这次也可以免费的分享给大家! 别忘记帮我文章点赞哦!
还有2019大厂Java面试总结:
关注+转发后,私信关键词 【面试】即可获得详细答案链接!
重要的话讲两遍,转发、转发后再发私信,才可以拿到哦!
猜你喜欢
- 2024-10-19 程序员的福音 - Apache Commons Compress
- 2024-10-19 oracle基础知识总结,Java编程的必备知识!
- 2024-10-19 菜鸟都能秒懂的面向对象(1)——java
- 2024-10-19 从菜鸟炼成高手!计算机系终身教授倾囊相授编写千页Java修炼手册
- 2024-10-19 菜鸟码农逆袭,一位java初学者的个人笔记
- 2024-10-19 程序员的福音 - Apache Commons Exec
- 2024-10-19 阿里菜鸟春招java后端电话一面(3.15)
- 2024-10-19 Java学习:构造方法的使用与注意事项
- 2024-10-19 Java菜鸟进大厂——阿里/京东/字节300道Java中高级面试题总结
- 2024-10-19 菜鸟学习java踩过的坑 注释篇(java菜鸟教程实例)
你 发表评论:
欢迎- 最近发表
-
- pyinstaller打包python程序高级技巧
- 将python打包成exe的方式(python打包成exe的方法)
- Python打包:如何将 Flask 项目打包成exe程序
- py2exe实现python文件打包为.exe可执行程序(上篇)
- 如何将 Python 项目打包成 exe,另带卸载功能!
- Python打包成 exe,太大了该怎么解决?
- 可视化 Python 打包 exe,这个神器绝了!
- 案例详解pyinstaller将python程序打包为可执行文件exe
- Cocos 3.x 菜鸟一起玩:打包window程序
- 怎么把 Python + Flet 开发的程序,打包为 exe ?这个方法很简单!
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)