锁定老帖子 主题:今天下午接到阿里的电话面试
该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间:2011-11-19
downpour 写道 原来阿里面试就面这些东西啊,还是非常汗颜的。我一个搞了8年Java的程序员,对其中的很多细节也不清楚。其实我感觉很多面试内容有点偏激了,考的东西和实际工作严重脱节。不知道这些问题回答得出来,对程序员未来在阿里的工作到底有多大的帮助呢?阿里的兄弟可以出来说说。
我现在招人的话,一般就问几个基础的JDK问题,主要考察应试者的思考问题的方式和他的工作习惯。这两点基本上是无法隐瞒的。其余的问题都主要以概念为主,当然想要在概念上忽悠住我的可能性很小。这样子招进来的人,往往即使有某些知识点的缺漏,也可以在工作中逐步完善。 你没觉得国内很多大公司都挑花眼了么?都在幻想自己是google,如果不问这种问题,可以进入大公司的人一批一批的,中国这么多人,肯定要想办法淘汰一些“不合格的!” |
|
返回顶楼 | |
发表时间:2011-11-20
thebig 写道 尝试回忆下哦
1.hashmap的内部实现机制,hash是怎样实现的,什么时候rehash 这个问题,haspmap是通过继承dictionary类实现的,使用了两个Vector,一个指向值,一个指键 hash是通过散列表和散列码实现的,就是Object的hashcode(). 应该在每次对hashmap操作后,都rehasp,这个不确定。 2.java的内存管理 基本都是程序管理,所有对象都在heap堆里面。一些基本类型变量在stack里面 3.分布式缓存的内存管理,如何管理和释放不断膨胀的session,memcache是否熟悉 不太会,session应该是使用对象序列化存储管理,不了 4.oralce的底层管理(怎样让查询快,插入慢) 建一个查询索引就可以查询快,插入慢。。哈哈,具体不知道 5.java底层是怎样对文件操作的 太多了。。 6.研究了哪些框架的源码 。。 7.并发问题,锁,怎么处理死锁,脏数据处理 这个可以好好侃呀,每次面,都在这个问题侃半天 8.性能问题 。。。。好深的坑 9.equals和hashcode这些方法怎么使用的 equals和hashcode都是Object的类的继承,都可以override equals方法很多,可以按照内容或者是对象地址对应 hashcode也是 10.java的NIO nio 是 java New IO 的简称,在 jdk1.4 里提供的新 api 。。。。。 后面也一啪啦长 hashmap不是继承dictionary噢,建议先看看jdk 的api 。 |
|
返回顶楼 | |
发表时间:2011-11-20
zhangyou1010 写道 thebig 写道 尝试回忆下哦
1.hashmap的内部实现机制,hash是怎样实现的,什么时候rehash 这个问题,haspmap是通过继承dictionary类实现的,使用了两个Vector,一个指向值,一个指键 hash是通过散列表和散列码实现的,就是Object的hashcode(). 应该在每次对hashmap操作后,都rehasp,这个不确定。 2.java的内存管理 基本都是程序管理,所有对象都在heap堆里面。一些基本类型变量在stack里面 3.分布式缓存的内存管理,如何管理和释放不断膨胀的session,memcache是否熟悉 不太会,session应该是使用对象序列化存储管理,不了 4.oralce的底层管理(怎样让查询快,插入慢) 建一个查询索引就可以查询快,插入慢。。哈哈,具体不知道 5.java底层是怎样对文件操作的 太多了。。 6.研究了哪些框架的源码 。。 7.并发问题,锁,怎么处理死锁,脏数据处理 这个可以好好侃呀,每次面,都在这个问题侃半天 8.性能问题 。。。。好深的坑 9.equals和hashcode这些方法怎么使用的 equals和hashcode都是Object的类的继承,都可以override equals方法很多,可以按照内容或者是对象地址对应 hashcode也是 10.java的NIO nio 是 java New IO 的简称,在 jdk1.4 里提供的新 api 。。。。。 后面也一啪啦长 hashmap不是继承dictionary噢,建议先看看jdk 的api 。 他可能将hashmap和hasttable混淆了 |
|
返回顶楼 | |
发表时间:2011-11-20
3.分布式缓存的内存管理
考的是 一致性Hash算法 http://www.iteye.com/topic/611976 |
|
返回顶楼 | |
发表时间:2011-11-21
很多人面阿里很悲剧呀,那我来个JAVA基础语法题吧,让你们自信一下,保证所有阿里人都无法全部答对:
请问JAVA语法中,有哪些合法的死循环的写法?请写出~~ |
|
返回顶楼 | |
发表时间:2011-11-26
cs83863896 写道 alafqq 写道 javamonkey 写道 lonelybug 写道 我一直觉得这种面试问题就跟中国的学生考试一样,不是测你的能力,而是测你看多少书,背了多少东西!
反过来问一句,如果有taobao大牛的我希望你回答以下,这些问题在你们工作中没有真正遇到之前,你们自己了解多少呢? 招人要看的是学习能力,工作能力,还有就是逻辑思维和解决问题的能力,现在从小时候就是为了考试而考试,最后都到了真实的社会工作了,还是能一队概念的考试题,需要的就是你在递交简历之后,立刻先都背一遍java的specification,然后所有的数据结构看一遍。 我觉得这种适合招熟练工,不适合招程序员或者软件工程师。 说的很有道理,我一向都鼓励这些所谓在大牛面前碰钉子的人说,在他们没有碰到之前,他们也不懂。问的这么难,一可能是人员饱和,想找出类拔萃。二可能是想压低你工资。 从事java开发10多年,开发的都是一流的企业系统。 这些题目,也只能勉强回答1/3,我也在这样的公司面试的时候碰过钉子。但如果面试我的人被我用同样的方法面试他,他也照样会碰钉子。 毕竟是做应用的,不是做研究的,所以这样的题目,面试不过,也很正常。不需妄自菲薄,按照自己的想法走自己的路 很犀利 但是我认为基于淘宝每天数亿的数据处理,很多东西确实要研究底层的东西,不能怪他们问的难,个人认为他们确实需要这些,有人同意吗? 陶宝需要的是并发性能,不是JDK性能挖掘。要不然他们就应该自己实现自己的JDK在自己特定的设计的硬件环境下。 |
|
返回顶楼 | |
发表时间:2011-11-30
lonelybug 写道 cs83863896 写道 alafqq 写道 javamonkey 写道 lonelybug 写道 我一直觉得这种面试问题就跟中国的学生考试一样,不是测你的能力,而是测你看多少书,背了多少东西!
反过来问一句,如果有taobao大牛的我希望你回答以下,这些问题在你们工作中没有真正遇到之前,你们自己了解多少呢? 招人要看的是学习能力,工作能力,还有就是逻辑思维和解决问题的能力,现在从小时候就是为了考试而考试,最后都到了真实的社会工作了,还是能一队概念的考试题,需要的就是你在递交简历之后,立刻先都背一遍java的specification,然后所有的数据结构看一遍。 我觉得这种适合招熟练工,不适合招程序员或者软件工程师。 说的很有道理,我一向都鼓励这些所谓在大牛面前碰钉子的人说,在他们没有碰到之前,他们也不懂。问的这么难,一可能是人员饱和,想找出类拔萃。二可能是想压低你工资。 从事java开发10多年,开发的都是一流的企业系统。 这些题目,也只能勉强回答1/3,我也在这样的公司面试的时候碰过钉子。但如果面试我的人被我用同样的方法面试他,他也照样会碰钉子。 毕竟是做应用的,不是做研究的,所以这样的题目,面试不过,也很正常。不需妄自菲薄,按照自己的想法走自己的路 很犀利 但是我认为基于淘宝每天数亿的数据处理,很多东西确实要研究底层的东西,不能怪他们问的难,个人认为他们确实需要这些,有人同意吗? 陶宝需要的是并发性能,不是JDK性能挖掘。要不然他们就应该自己实现自己的JDK在自己特定的设计的硬件环境下。 问一句, 如果知识面不够丰富,视野不够广, 如何快速定位/解决问题, 遇到问题的时候难道先给你时间去研究api去研究底层? |
|
返回顶楼 | |
发表时间:2011-12-01
最后修改:2011-12-01
定位问题是首要的,这可以通过工具实现,经验不见得能帮上忙。
大部分问题出现在错误使用底层提供的方法,小部分问题是没有合理配置底层系统。只有微乎其微的部分才有可能要去研究下一层 吞吐量是一个系统的关键,找一些支持水平扩展和集中管理的技术,凑在一起用用,也就成一个“神话般高性能的系统”。研究低层技术,基本上是对自己要求高,又闲得慌的人干的。 |
|
返回顶楼 | |
发表时间:2011-12-01
不错的分享哈
|
|
返回顶楼 | |
发表时间:2011-12-02
yessky 写道 lonelybug 写道 cs83863896 写道 alafqq 写道 javamonkey 写道 lonelybug 写道 我一直觉得这种面试问题就跟中国的学生考试一样,不是测你的能力,而是测你看多少书,背了多少东西!
反过来问一句,如果有taobao大牛的我希望你回答以下,这些问题在你们工作中没有真正遇到之前,你们自己了解多少呢? 招人要看的是学习能力,工作能力,还有就是逻辑思维和解决问题的能力,现在从小时候就是为了考试而考试,最后都到了真实的社会工作了,还是能一队概念的考试题,需要的就是你在递交简历之后,立刻先都背一遍java的specification,然后所有的数据结构看一遍。 我觉得这种适合招熟练工,不适合招程序员或者软件工程师。 说的很有道理,我一向都鼓励这些所谓在大牛面前碰钉子的人说,在他们没有碰到之前,他们也不懂。问的这么难,一可能是人员饱和,想找出类拔萃。二可能是想压低你工资。 从事java开发10多年,开发的都是一流的企业系统。 这些题目,也只能勉强回答1/3,我也在这样的公司面试的时候碰过钉子。但如果面试我的人被我用同样的方法面试他,他也照样会碰钉子。 毕竟是做应用的,不是做研究的,所以这样的题目,面试不过,也很正常。不需妄自菲薄,按照自己的想法走自己的路 很犀利 但是我认为基于淘宝每天数亿的数据处理,很多东西确实要研究底层的东西,不能怪他们问的难,个人认为他们确实需要这些,有人同意吗? 陶宝需要的是并发性能,不是JDK性能挖掘。要不然他们就应该自己实现自己的JDK在自己特定的设计的硬件环境下。 问一句, 如果知识面不够丰富,视野不够广, 如何快速定位/解决问题, 遇到问题的时候难道先给你时间去研究api去研究底层? 那我也问你一下,多广的视野才算广?多丰富的知识才算丰富?这两个都需要多少才可以达到快速定位和解决问题?如果你不能给出一个量化的标准,那么我有一个问题再请教一下,在SARS之前,请问有没有你说的医术足够高,见识足够广,专业知识足够丰富的医生呢?如果有的话,我想问问,为什么当SARS爆发之后并没有很快的定位并且根治呢? |
|
返回顶楼 | |