【面试】2015届校招阿里巴巴研发工程师杭州站offer经历与详细过程

本文详细回顾了2015届校招中,作者在阿里巴巴杭州站的研发工程师面试过程,包括技术一面和HR面的具体问题及回答,涉及到排序算法、数据库、JVM内存模型、虚拟机调优等多个技术点。
摘要由CSDN通过智能技术生成

ps:自己的面经是不是有点晚啊~,~呵呵。2014年9月24日杭州终面详细过程。

前面有其他岗位同学的汇总篇:http://blog.csdn.net/supera_li/article/details/39254825

研发工程师

杭州站面试成功面试经验

 

技术一面XX(花名保密吧):

ME:好紧张啊~~(刚走到面试官的桌子旁边,还没有坐下去~~囧啊,随口来了句)

D:不要紧张,咱们随便聊一聊。你在XX,为什么来杭州啊?

ME:。。。。。。(当然是来面试啊~~来当时表情还没有缓过来,然后就笑了笑~~)

D:好,咱们换个话题,你先自我介绍下吧

ME:巴拉巴拉。。。。

D:你说说有哪些排序算法以及他们的复杂度

M:是需要分析每种排序的最好情况与最坏情况吗?

D:平均复杂度就行了啊

ME:直接插入排序,优化的折半插入排序,冒泡等双循环的为N^2,归并,快排,堆排序等带有递归过程的排序算法是nlogn。

D:恩,好,你写一个快排吧

M:ok,试试看,好久没动笔了。慢慢写应该没问题。我先用我自己定义的状态语言来表示算法过程,一会写到那张白纸上

D:恩,写清楚。

M:巴拉巴拉写~~~然后copy到白纸上~~

D:恩,那你再说说排序的过程吧

M;取数组第一个元素设置为vot,然后从后到前查找小于vot的值,然后交换,再从前向后查找大于vot的值交换,第一遍结束后,分vot在数组中间,,然后递归处理左右子数组就行了。

D:操作系统的内存是做什么用的啊:

M:。。。。。。这个不是怎么回答啊

D:你想想,那么多进程,怎么处理的啊,如果没有他,进程会是什么情况

M;进程管理?

D:恩,对,还有什么?

M:IO,文件,cpu任务调度。。。

D:内存模型知道吗?

M:(心想,操作系统的内存模型,不就是c,cpp的内存模型?)堆,栈,静态,code区,常量池。对吗?

D:。。。。。

M:不知道。那我可以从JVM内存模型来类比推出操作系统的吗?感觉都差不多。

D:那你给我画出来下

M:沙沙沙(loadclass-->JNI到方法接口流程图)。。。Heap,stack,PC count,method,还有一个忘了,不常用

D:第五个是什么?

M:我记不太清楚了,我想一下,貌似是方法接口区?

D:恩。解释下GC原理

M:沙沙沙画图,这是young,old,persistent,第一个分了两个存活区,用于临时转移新new的对象,对象回收的方向大致为。。。沙沙沙。。在old区,我记得hotspolt虚拟机是默认15次。没有回收就将对象转移到最后一个永久区。当然常量池也在永久区,永久区满了,依旧会出现OOM异常,方法栈直接爆掉。中间收集商业虚拟机很多是用分代收集算法做的。

D:解释下分代收集算法?

M:。。。。这个每个块的算法记不太清了,分代回收算法见名知意,就是按照对象处于不同代进行特定回收的算法啊。(什么引用计数,树根,以及目前的G1算法,,,当时没说。。)如果老师知道具体的算法名字,提下名字,我应该能想起来实现原理。还有中间old区如果达到一定配置的数值,会引起fullgc。

D:。。。。。。中间那块是什么区?

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值