分享

互联网程序员的技术面为啥这么难?

 历史探奇 2019-10-15

和朋友吃饭聊天,聊起了技术面的相关问题,我简单说了一下我在公司中的面试要,巴拉巴拉此处省去一万字。最后,作为一个老码农,感觉对程序员的要求越来越高!

回忆起前些年,去一个公司面试,聊聊工作经验,谈谈应用实践,聊得开心,也就过去工作了。现在呢,不仅要求会用,还要求懂、理解;不仅有深度,还要有广度。

“技术过剩”的假象——毒鸡汤

“技术过剩”这个词经常被提起,指实际中简单的业务,却应用了复杂的架构、技术实现。这个词对应到面试环节,就是对候选人要求很高,实际工作中却用不到。就个人来说,分配的工作能按时做完不就行了吗,为什么有这么高的门槛儿?

“技术过剩”在资金、资源宽裕型的公司可能存在,有足够的金钱招聘优秀的架构师、工程师,却没有足够复杂的业务去实战,但这样的公司肯定是少数。在经济活动中,老板、经理人都是理智的,谁会为了99块钱的收入付出100块的成本呢?

大多数的技术过剩,都是假象,一方面随着时间,对业务越来越熟悉,一切变得理所当然,觉得不再有难度;另一方面呢,可能只关注了其中一部分,对系统全貌理解不深,不知道其中的复杂度。作为工程师,要有持续学习、拥抱改变的勇气,当自己觉得“技术过剩”,何不思考下搞点儿新东西?何不主动扩大视野,探究更多的未知?

按时做完工作,是底线;当自己脑海里有“技术过剩”的概念的时候,其实是危险的,缺少了学习的动力。摒除这种假象,踏踏实实的钻研,提升年自己的技术水平。

做完和完成——看实践

值得注意的是,在前面我说的是“做完”一项任务。我认为,做完和完成是不一样的,完成比做完多了一个“成”。

举个例子,在代码复查阶段,发现有个同事写了如下的代码:

if != null) { String value = redisTemplate.get;}

从测试结果看,功能正常,也是按时做完的。应该表扬他吗?

这段简单的代码,相信大家都能看出问题,把Redis的远程调用,当成了本地方法调用,有严重的性能问题。这样的任务,算不上完成。

这件小事说明了工程师要理解底层原理,要有性能优化意识,而这些都是对一个工程师比较高的要求,体现在面试环节,就是算法、原理方面的考核。

薪水决定力——最实际

在任何一个团队、组织,都要根据一定标准,决定谁的工资高,谁的工资低。

做销售的,这件事很简单,卖出的货物有提成;做生产的,也很简单,按件计收入;程序员能按照代码行数发工资吗?显然不能。

实践中,根据能力水平支付薪水,是普遍的现象。阿里巴巴、腾讯、华为等公司,在你进入公司时,会给你一个技术评级,按照评级给定一个合适的薪水。

从某种程度上说,面试的难度和薪水是成正比的。所以,没有什么好抱怨的,想要得到一份高薪的工作,就需要达到相应的技术水平。

结语

工作中很多的时间,都用在了面试上。为了找到优秀的人才,可谓是斗智斗勇,不断地想办法面出真水平。运气重要,但不能靠撞大运找个好工作;运气也不重要,只要技术积累够,职位那么多,总能找到满意的。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多