标签:准备 现在 csdn 热点 一致性 部门 阿里 腾讯 size
大家应该看过很多分享面试成功的经验,但根据幸存者偏差的理论,也许多看看别人面试失败在哪里,对自己才更有帮助。
最近跟一个读者聊天,他准备了3个月,刚刚参加完阿里巴巴的第三面,电话面,嗯,挂了…
阿里Java后端三面凉经
一面
面试官人很好,前一天就打电话预约。不过实话实说不知道为什么我投的Java研发简历被做IOT算法的部门捞起来了,所以这一面很短,总共15分钟:
- 自我介绍
- 直接上来就手撕代码:重建二叉树
- JVM:类加载机制,沙箱安全
- 问到运行时数据区,我答漏了一个程序计数器,然后面试官就接着问到了程序计数器。
- 问可达性分析,什么样的对象可以作为GcRoot、加载的时候把这些对象提前找好用的OopMap
- 新生代几次对象几次到老年代?
- 有没有可能直接就把刚new出来的对象放在老年代?(第一次碰到这个问题,有些慌,我答的有可能,毕竟有些垃圾回收器会有一个空间分配担保策略)
- 多线程:volatile,CAS,总线嗅探,CPU缓存一致性协议
- 讲一讲ReentrantLock、ThreadLocal、Lock和Synchronized的区别。
- CountDownLatch,ABC三个线程怎么去保证顺序执行?
- 数据库优化:B+树,Hash索引,最左前缀,索引优化分析,一条龙服务,都问了一下。
- Redis:一来就是分布式锁,然后别的就没问了,可能也是觉得我回答得还行就跳过了。
- HashMap:扩容的触发条件是什么?我答只是一个达到负载就扩容了,明显错了。然后面试官纠正说负载和Hash冲突同时发生。
- 死锁怎么排查?
- JVM调优怎么做?
- 问了几个索引题。字符串要写单引号,字符串查询怎么增加查询效率,字符串索引太大了那就截取几个做索引,叫前缀索引。怎么判断一个索引字段选得好不好,看不重复的和总数的比值,越大越好。
- 假如现在系统里面就是要模糊匹配怎么办?
二面
二面是突击面大晚上9点半面试官竟然打来电话,没有任何准备。面试官上来就会要你自我介绍,后来才知道这是阿里非常常见的面试形式。
- 介绍一下数据挖掘比赛的情况,并针对比赛提出一系列问题。
- Hadoop map reduce过程
- Java StringBuffer与StringBuilder区别
- MybitsPlus实现原理
- SpringMVC实现流程
- Java集合源码相关问题,put方法过程。
- 说说未来个人职业规划以及有什么想问的
三面
- 自我介绍,直接问到了技术栈。(这次优化了自我介绍的内容,主要围绕4个点去讲。自报家门、项目经验、技术栈以及求职愿景)
- 根据项目来提问,技术问题(这部分大致是对你的整体价值观做宏观的把控,包括上进心、责任心、心态以及工作激情等)
- 在项目中遇到了哪些比较棘手的问题?是如何解决的呢?
- 目前系统支撑的用户量是多少?假如用户量提升10倍,系统会出现什么样的问题?如何重新设计系统?(这部分就是主要考察你对问题的预见能力、解决能力,考察你对项目、问题解决的整体思路)
- 使用memcached是一个什么样的原理?
- 如何存放数据到memcached集群中,介绍一下这个过程。跟进的问题,讲一下一致性哈希算法的实现原理。
- JVM中堆是如何管理的?JVM的内存回收机制,介绍一下
- 分布式事务实现方式
- 热点账户问题(项目中有就会问到)
- 类加载委托机制
- 锁的应用
- 项目架构
- 最后一问:你觉得你在同事眼中是一个什么样的人?
面试经验复盘
1.阿里面试注意事项
- 部门选择:从这三次面试经历来看,部门不同,问到的技术栈都有所区别,所以在面试前最好是根据自己所面试的部门做相应的准备。
- 岗位选择:根据岗位介绍能够洞见的关键信息并不多,基于有限的信息,所谓合适通常需满足以下几点:①自身的核心竞争力与所应聘的岗位具有较高的匹配度;②对岗位的工作内容感兴趣,至少不排斥;③岗位所在的业务具有良好的前景;④工作地点可接受。
- 应变能力:几轮面试下来,给我最大的一个感受就是一定要培养自己的应变能力。在面试过程中,面试官会根据和你交流的过程中,找一些细节进行提问,一旦应变能力不强,就容易慌了张影响面试发挥,导致失败。
2.面试核心知识点梳理
除了阿里以外,其他七七七八八的互联网公司我也面过不少,不说身经百战,那也面临过一些枪林弹雨的。所以,对于面试会问到什么技术栈,还是做了一些详细的梳理,这些面试梳理还是相当有说服力的。
针对面试核心知识点的梳理,我提供了以下的思维导图和面试核心点PDF:
- Java核心知识点整理
- Spring全家桶学习笔记(SpringBoot+SpringMVC+SpringCloud+源码等)
- 高并发设计系统
- 视频学习
- 刷面试题
刷题的重要性,我想不用多说。对于应届生或工作年限不长的人来说,刷面试题一方面能够尽可能地快速自己对某个技术点的理解,另一方面在面试时,有一定几率被问到相同或相似题,另外或多或少也能够为自己面试增加一些自信心,可见适当的刷题是很有必要的。
- redis深度笔记:核心原理和应用实践
如果你觉得自己学习效率低,缺乏正确的指导,可以加入资源丰富,学习氛围浓厚的技术圈一起学习交流吧!
[JAVA进阶群]
群内有许多来自一线的技术大牛,也有在小厂或外包公司奋斗的码农,我们致力打造一个平等,高质量的JAVA交流圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。
- 面试建议
1.有耐心且主动
面试不要着急着去问结果,一般在hr面的时候,她的态度多少能够猜个七七八八的,如果等上一周还没有通知,那就可以主动去问了。
2.刷题是为了提升自己的运气
运气在面试过程中是非常重要的,刷题的目的很简单,除了巩固我们所掌握的,另一个就是为了能提高在面试中我们的运气,如果能够问到一样的题是再好不过了,当然这个办法是适用于职级中低岗位。
3.掌握基础,注意深度
腾讯面试最喜欢问两类问题,一类是基础,另一类就是深度。基础部分,无非就是我们所掌握的技术基础内容,基本上只要是有准备的都没有太大的问题。另一部分就是深度问题,大多涉及到自己之前的工作、项目,面试官所问的问题不仅仅是停留在表面那么简单,背后的原理是什么才是面试官想要问的。
最后:
我们身为技术人员,最怕的就是安于现状,一直在原地踏步,那么你可能在30岁就会迎来自己的职业危机,因为你工作这么久提升的只有自己的年龄,技术还是万年不变!
如果你想在未来能够自我突破,圆梦大厂,那或许以上这份964页的“1000道Java程序员面经” 你需要阅读阅读,希望能够对你的职业发展有所帮助。
获取方式: 只需你点赞+关注后,进[Java架构资源交流群]获取领取资料方式 哦-!
阿里三面被拒含泪离开,经历半年努力自学,二战成功面上阿里
标签:准备 现在 csdn 热点 一致性 部门 阿里 腾讯 size
原文地址:https://www.cnblogs.com/Java-cola/p/14919017.html