锁定老帖子 主题:去淘宝面试后,哥悲剧了。。。
精华帖 (0) :: 良好帖 (1) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-10-28
第二个问题用一个byte[] lock=new byte[0]的方式控制就可以了。
自己设定在特定时候用synchronized(lock)的方法。 JDK里面有一些东西不要太依赖了,只知道如何用不知道其所以然。 |
|
返回顶楼 | |
发表时间:2011-10-28
最后修改:2011-10-28
看了这些回复真是有些感慨,终于知道为啥很难找到优秀的程序员了。
手下有些都是做了3、4年开发的开发了,不管有什么情况都是new ArrayList(),new HashMap()。 很多代码都是CtrlC、CtrlV,问为什么这么写,答别人也这么写。 也许有些人觉得是纯毛求疵,当访问并发量上来系统当机的时候你就知道这些基础知识的重要性了。 |
|
返回顶楼 | |
发表时间:2011-10-28
谢谢以上各位同仁中肯的回复。
目前相对比较优秀的程序员(除非对技术不感冒,也不是说不想进淘宝,就不是优秀的程序员,我是特指的一群人),首选的跳槽目的地就是淘宝或者阿里系公司,特别是杭州地区的。无非就是两个追求,一是物质财富的追求,二是自身技术的追求。因为淘宝已经形成了一种氛围,技术人员没事儿就喜欢研究技术,说得难听点,就是钻牛角尖。就是这种氛围,其他大部分公司都不具备的。这样的技术氛围,很容易和其他公司的技术人员拉开距离,这是一个良性循环。 这次面试失败,我找到了自己的缺点,看到了差距,所以还是老实深入学习一下,有机会还会再进淘宝。 ps:绝对不是替淘宝打广告,这是我真实感受,勿拍 |
|
返回顶楼 | |
发表时间:2011-10-29
进淘宝或支付宝一直是我的梦想啊。还在不断的努力中。。。争取什么时候有个面试机会。
|
|
返回顶楼 | |
发表时间:2011-10-29
咋那么多人想去淘宝呢。。说白了,不就是做一个电子商务网站么。。
|
|
返回顶楼 | |
发表时间:2012-08-01
三个人共用同一个资源 我的想法是
1.ExecutorService exec=Executors.newCachedThreadPool(3); 2.使用java.util.concurrent.locks的 ReentrantLock 对线程进行lock 和unlock 3.使用synchronized同步 限定 不知道对不对 小弟太菜~ |
|
返回顶楼 | |
发表时间:2012-08-01
好希望面试的时候面试官问我这些问题,可是现实中这些敢问这些问题的实在不多,因为本身就对面试官的要求就比较高。
没事打算去面试淘宝玩一下。 这两题,真的难度不高的。 第一个不说了,主要目的就是减少hash table扩容的次数。 第二个,首先要明确如果三个线程进入同一块区域这个区域由于没有互斥性因此是不保证线程安全的。所以这三个线程应该操作的是三个互相独立的步骤。这样总体上看来是线程安全的。 有线程通限制通常和CPU核数有关。多创建线程通常会造成资源浪费。为避免都是通过线程池完成相应功能。 还有举例场景之一就是需要等待,比如说进行多线程下载压缩的时候。 |
|
返回顶楼 | |
发表时间:2012-08-02
难道不是用Semaphore么,不管是synchronized 还是ReetrantLock对某个资源的访问上来说都是起互斥作用, 怎么可能同时允许3个访问.
|
|
返回顶楼 | |
发表时间:2012-08-02
最后修改:2012-08-02
|
|
返回顶楼 | |
发表时间:2012-08-02
最后修改:2012-08-02
沧海一啸 写道 hardPass 写道 jdkleo 写道 面试的都是问他自己熟悉的东西,也许这东西你研究,你实际经历过,你映象深刻,别人也许没有这方面的经验和研究,但是你不能因为别人不懂你提的问题而否定别人,因为面试官自己也有不懂的地方吧,你用过的一个有经验的东西,你问问他,看他知道不,这帮家伙就喜欢ZB知道不。
1、第一个问题(关于HashMap的),只要是用java做开发一年以上的,就应该清楚。如果你一点答不上来,那确实够寒碜。不能总是用初级程序员的要求要求自己。 2、第二个问题(关于并发的),如果java做开发3年以上的,就应该能拿出自己的解决方案,哪怕你的方案比较粗糙,但最起码要靠谱。如果你一点概念都没有,那么,框架的组的活不适合你,请多多熟悉业务。 3、如果你能清晰的给出上面两个问题的答案,那么我们相信,即使你不会SSH,我们也不能随意否定你。 4、相反,如果你不能给出上面两个问题的有效答案 ,哪怕你SSH用的再熟,可以肆意断言:最起码目前相当长的一段时间内(至少是一年),框架组的活不适合你。 关于Hashmap的问题,假设看过它的源码,就像你说的一样,清楚该怎么回答。但是在框架组里,光清楚有这两个属性够用吗?我看了下源码,在new 一个 Hashmap的时候,是通过容量和加载因子经过一个算法(简单说,就是相乘)得出的一个值,这个值才最终对Hashmap的性能有优化。假如你只了解这两个属性,但是在具体使用的时候,这两个属性的值如果设置,才能使Hashmap的性能达到最优呢,有一个组合问题。我相信,编写Hashmap这个类源码的人,使用16和0.75f,肯定是经过最优算法得出的,难道自己设置的值,会比他设置的更好,性能更高吗? 如果知道hashmap 所在存的数据总量概量。 比如 4000-5000 个key 那么非常明显自己设定这个数值可以减少 resize |
|
返回顶楼 | |