程序员为什么要想尽办法,都要进BAT?

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

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

首先,人家日均动辄百万千万的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存中是哪一些模块消耗内存比较多;

  • 应用服务器的参数调整。

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

高端职业技术交流圈子

欢迎加入Java高级架构学习交流群:375989619
本群提供免费的学习指导 架构资料 以及免费的解答
不懂得问题都可以在本群提出来 之后还会有职业生涯规划以及面试指导 进群修改群备注:开发年限-地区-经验 方便架构师解答问题
免费领取架构师全套视频!!!!!!!!

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

猜你喜欢

转载自blog.csdn.net/J_java1/article/details/82953839