为什么程序员挤破头都想进BAT?

为什么程序员挤破头都想进BAT?_第1张图片


标题可能就有人忍不住想喷:切,我就不想去!去的都是虚荣心强的人,不就是刷刷简历,镀镀金吗!


为什么程序员挤破头都想进BAT?_第2张图片

为什么程序员挤破头都想进BAT?_第3张图片


在这里,我告诉你就算是刷简历,那也是一种经历,既然是经历必然就有可取之处。


首先,人家日均动辄百万千万的pv,可不是小公司能比拟的。再小的问题,也很容易快速地暴露出来,问题多了,自然就形成了经验,经验多了,自然就形成了规范。


其次,人家项目的发布流程,都会经历几大阶段,和无数番测试蹂躏,确保项目的上线质量。而小公司往往缺乏这些流程,所以做出来的经受不住考验。


杭州阿里“P6”面试经验


第一轮:电话初面

第二轮:技术面谈【技术职位尽量避免多谈管理上的工作】

第三轮:高管复试

第四轮:HR最后确认


一面:首先确认对阿里的意向度(如果异地更会考虑对工作地点(杭州)的意向度!阿里很看重这个);其次面试官一般会针对您所做过的项目来做具体技术的交流,会比较关注个人对项目细节是不是掌握到位,主要考察java的技术基础和原理,比如Spring框架以及数据库和JVM三个方面,也会交流到分布式、线程池的实现等等,重点考察是不是有比较钻研技术和技术上的亮点【不一定每个面都很厉害但一定要有亮点】;


二面:技术面,根据项目深入的了解技术实力,了解您的知识面,了解您的问题解决能力以及技术灵活运用能力,也通过这一过程考察团队合作能力、学习主动性和创新性,可以挑选2-3个做过的有典型性的项目做一个仔细  技术回顾和自己独到的理解【这会成为您的加分项】;


三面:他们最后的高管复试会涉及到相关的技术问题,大部分是对你的整体价值观做宏观的把控(比如上进心,责任心,心态,工作激情等)


HR确认:基本就是从大方向了解一下您的心态、抗压能力,工作中的角色、未来大致的规划以及对阿里的意向度


【技术基础以及的问题多看看书准备下就行了,不懂的直接说不懂没关系的;在项目细节上多把关一下,根据项目有针对性的谈自己的技术亮点,能表达清楚,可以引导面试官来问你比较擅长的技术问题,个人就可以尽情发挥】


阿里比较喜欢的人才特点:对技术有热情,强硬的技术基础实力;主动,善于团队协作,善于总结思考;


阿里面试问的问题会比较底层  

1. Java内存结构,spring的aop的实现方法,java数据库问题定位和性能调优;

2. 关于Java异常的续承层次结构,讲述异常的续承关系;

3. java中重载和重写有什么区别,分别用什么关键字;

4. 关于分布式消息队列,分布式缓存;

5. 关于hashmap源码实现, jdk

6. 关于设计模式,uml,jvm 内存回收机制问题

7. java线程如何启动?java中加锁的方式有哪些,怎么个写法?

8. 对乐观锁和悲观锁的理解;

9. ORACLE中的SQL如何进行优化,都有哪些方式?事务有哪些特性,在ORACLE中隔离有哪些级别?

10. 介绍一下自己最近做的一个典型的项目;

11. 在项目中遇到了哪些问题,自己是如何解决的 

12. 目前系统支撑的用户量是多少,假如用户量提升10倍,系统会出现什么样的问题,如何重新设计系统【这里主要是想了解您的问题预见能力以及问题解决能力,考查思路】

13. 使用memcached是一个什么样的原理

14. 如何存放数据到memcached集群中,介绍一下这个过程。跟进的问题,讲一下一致性哈希算法的实现原理。

15. JVM中堆是如何管理的,JVM的内存回收机制,介绍一下

16. 分布式事务实现方式

17. 热点账户问题(项目中有就会问)



第一轮技术面试(电面)涉及Java基础点(可参考)

session

java锁

gc原理

hashmap

listlink arraylist 区别

aop 原理

多线程

kafka 原理和容错

spark hadoop 原理

redis 同步机制

classLoader 机制
Http 协议
cookie的限制
HashMap key的要求 , hashcode一致两个对象是否相等
JVM的原理

涉及面较广,包括谈到项目上遇到的问题,以此深入探讨。

XX:

介绍自己的工作职责、技术or管理怎么分配的
介绍项目,涉及的技术把整个流程说下。然后他感兴趣就会深入问
然后就是聊一些jvm、nosql之类的

假如服务器反应很慢,你应该怎么排查问题

怎么跟踪一个方法的用时,并且最小限度干涉业务程序


旁听面试-java:
人选介绍目前目前技术管理侧重;

对阿里推荐对应岗位的理解度;

系统设计是怎么样的;

做的一些架构,数据源来自于哪里并深入问;

模块边界,缓存机制;

选用技术选型时,A和B的区别;

多线程如何用,有什么好处,和进程的区别;

多线程的过程;

多线程同步的方法,X项目中如何去实现;

分布式架构在你目前项目中的体现;

跨主机通信用过什么,接口等;

大数据存储;

结尾:你自己觉得你擅长什么,以后想走的路线,技术还是管理;


Java面试题分享:
JMS的两种模式是那些;
富客户端怎么更新;
自己设计类似ESB这样的企业数据总线应该有哪些功能;
系统架构设计;
集群中怎么控制session;
怎么样知道java存中是哪一些模块消耗内存比较多;
应用服务器的参数调整。


你需要的系统架构学习体系


为什么程序员挤破头都想进BAT?_第4张图片

为什么程序员挤破头都想进BAT?_第5张图片

为什么程序员挤破头都想进BAT?_第6张图片

为什么程序员挤破头都想进BAT?_第7张图片

为什么程序员挤破头都想进BAT?_第8张图片

为什么程序员挤破头都想进BAT?_第9张图片



高端职业技术交流圈子


小编创建了高端职业技术交流圈,让你不再是一个人在奋斗,通过学习与交流让自己变得更加强大,加好友备注:地区+开发几年

为什么程序员挤破头都想进BAT?_第10张图片

以上内容分享给喜欢编程,有梦想成为架构师的程序员们,希望能够帮助到你们,如果觉得文章还不错,可以动动你们的手指,转发加收藏吧!让我们的圈子更大,谢谢!

你可能感兴趣的:(JAVA架构进阶)