近期一名java程序员去阿里面试后,感觉自己情况不容乐观,主要原因是感觉面试题有点难,自己答不上来,于是他就发帖吐槽一下,并提到了两道面试题内容,本来以为能够得到网友们的同情,没想到被鄙视了。
这名程序员原话是这么说的,:阿里的Java是人人会调gc?各种分布式数据库缓存服务好可用(估计是说高可用,字写错了)都会吗?怎么面试题一个比一个吊啊。显然,这名程序员认为这题是比较难的,于是就发了这么一个帖子。
帖子发出后,评论区可是一片热烈啊,看看网友们都是怎么回复他的。
阿里加v员工:这问题很牛么!明明是java常规问题好不好!学java这个是基础啊!(在这位阿里员工眼里,这些问题就是java的常规问题,他们的认知上不太一样,不同意很难的说法)
滴滴加v员工:gc和分布式数据,bitmap减少缓存压力乱七八糟,不好意思;我是应届生,都玩过 (滴滴的这名程序员,表示自己是应届生,都接触过这些问题,意思还是问题不难,挺容易的)
阿里加v员工2:gc都不会查,线上内存泄漏了哭死你。只不过阿里内部有更方便的工具去定位,但是gc的一些原理必须要懂的。(是的,java内存泄露是很烦人的一件事情,原理是一定要知道的,否则一旦出问题了,就会比较被动了)
阿里加v员工3:什么改写虚拟机…启动参数设置好就可以了。几个常用的参数知道什么含义,高了低了都有什么好处坏处…出问题了怎么dump分析堆栈。骚年,这个和写代码规范不规范没关系的。你没法子控制别人的代码,关键是出了问题懂得怎么去分析定位原因。比如一个庞大的系统跑的特别慢,你该怎么去解决。(是的,说的很有道理,有时候不能一味的简单的行动,要站在更高的角度分析更重要)
美团加v员工:面试让你造火箭,进来让你拧螺丝(比喻的很形象,工作中用到的东西的确比面试的容易,但面试题考察的是一个人的能力范围,我们只有拥有一桶的水才能把一碗水装满,因此面试的内容要比用到的内容更广,更难,这是正常现象)
腾讯加v员工:分布式也是基础啊,推荐你你看一本书“大型网站系统与java中间件”。看完差不多能明白一些皮毛。至少应付面试还行一些。高并发需要实战的。多翻翻java并发实战经典和并发编程网吧。这些其实都是理论,关键是你写代码时候要结合一下的。(为这名网友点赞,能够推荐书,分享自己的心得,分享精神人人都要拥有)
百度加v员工:如果面试业务岗位问的是红黑树调整算法迪杰斯特拉算法之类的,确实是装逼。但是gc问题排查、简单的并发控制这种问题太基础了,线上也时常出这种问题需要排查的,不懂的话怎么排查?总推诿给同事吗?组里有其他人你还可以推诿,当前微服务大行其道,每个程序员都会单独负责一个甚至多个服务,出了问题你说你只会写代码这个你不懂?(这位网友同样也认为这些问题并不难,不算过分,又没有问到红黑树问题(这个问题被业界认为算是比较难的问题了))
阿里资深技术专家(加v):其实什么问题不重要,主要是考察候选人的好奇心和学习能力,如果仅仅是做啥才会啥,在阿里这个变化迅速的环境下是很难发展的 (是的,很有道理,我上面也说过了,要想把一碗水装满,自己首先需要用一桶水来准备)
网友一:其实很简单,阿里的猴子水平差,写代码不干净,所以经常内存泄露。但是不能显得自己低端呀?怎么办,对,我可以花式跳水,曲线救国。来彰显我的牛逼之处。(呵呵,这名网友显然是来捣乱的,表示不赞同)
网友二:不光阿里会问gc的问题吧,大部分都会了解一下jvm和gc的问题,不然只会垒代码的人真的很多,解决问题的人很少啊 (对的,说的没错,学java的,这些原理都是需要了解一下的)
看来大家都是认为这些问题并不是太难,针对这一情况我的看法是,我猜这名楼主也不可能是能力低下之人,他可能是这样一种风格的程序员,对编程有着浓厚的兴趣,喜欢钻研代码,但是对与一些理论知识平时关注的并不是很多,这样在面试的时候就会比较不利,建议这名java程序员网友平时除了多研究代码之外,还要多看一些技术书籍,能够系统的了解一下其中的原理,要知其然,知其所以然。这样在平时解决问题时才能更高效,在面试时才能发挥出自己的正常水平。其实好多时候人与人的差距不在于智商,而在于认知层面的差距!多听听其它人的看法是很重要的,一个听不进去其他人话的人,其实他已经拒绝了进步,大家说是么?