外贸网

  • 首页
  • 为什么程序员都很排斥面试时做题 为什么程序员越来越排斥面试时做题?

    作者:媒体   更新日期:2024.05.19
    第一, 能做上的人真的不多。
    所谓程序员,方向很广的,前端、后端、UI、架构等等,不同的岗位研究的方向不同;做不同的产品,用到的语言可能也不尽相同。用做题来衡量一个人的水平这件事,本身就不是很可行。明明是擅长数据库的从业者面试者,硬是要做一套Java的试题,是很为难的。对于企业来讲,从笔试想检测下专业水平,但是程序员术业有专攻是没错的。
    第二, 写程序不是一项程序活儿。
    面试时的做题的环境,心情和真正的工作是不一样的,我们说打球会有手感,写代码其实也有手感。在压力,虚拟的情景下,程序员容易造成失误,影响发挥。不仅是程序员,离开了学校之后,考试这种形式都不招人喜欢。
    第三, 面试的诚意。
    面试时一个双向选择的过程,如果是技术总监来聊聊,会显得比较尊重人才有诚意,双方一旦发现有不可调和的供求不匹配,也可以马上结束谈话。人是活儿的,但试题是死的。如果做完题目后一聊,发现双方并不合适,做题就很浪费自己的时间了。

    为什么程序员越来越排斥面试时做题?

    说到程序员面试题目的问题,正常来讲越是老程序员越是不怎么喜欢做些面试题目,更多的老程序员由于长期在一个行业呆着,知识的全面性差些,如果不注重涉猎,在做面试题目的时候,有些很简单的题目都回答不上来,这是程序员的一个通病,有问题已经习惯于从网络寻找问题的答案,所以直接在没有网络状态下有些题目做起来感觉相当的吃力,大部分的程序员都会存在类似的感觉,所以很多老程序员去参加面试的时候,发现有笔试的题目,有的直接就走人。



    坦白来讲笔试的题目,最初设置的初衷是为了设置门槛,检查下基本功,对于真正的高手,很难通过一两个题目就能得出一个人水平的高低,毕竟编程不仅仅是掌握个基本功,还要需要编程思想以及框架思想,这种内在东西主要还是靠真正的技术面试辨别。

    这就是很多老程序员有点鄙视笔试的一个很重要的原因,毕竟这只是基本功主要还是编程思想做依靠。

    不待见笔试的程序员不见得水平不咋样,主要觉得靠几个题目很难辨别出真实水平,从内心还是有一丝鄙视的意思。程序员的差距一方面表现在编程思想,还有很大一部分是基本功,基本功扎实了才能敢于做一些事情,不要为自己的年龄找借口,很多程序员觉得自己都工作好多年了出来找个工作还要做什么笔试题目,从心理上接受不了,很多时候是胆怯的表现,平时他专注于一个领域的研究,把很多基础的东西都给忘掉了,内心当然有恐惧感,所以高水平的程序员何惧笔试题目。

    一、 考验对专业知识的掌握的扎实程度
    在张鑫旭的十问十答里的一个问题是,「前端开发基础扎实的标准是什么?」这里面他对「扎实」的解释我觉得很适合来答这个问题。「扎」其实可以理解为深度,你可以想象一个用一根针,扎你的皮肤,对一个点的压力,可以让你痛不欲生。

    那么如何理解知识的深度呢?
    我还是拿前端面试来举例,比如考一个快速排序,很多人就觉得这有什么好考的嘛,平时又用不到,引擎底层已经写好了sort方法,什么数量级用什么排序底层也已经实现好了,没必要考了呀。但是其实面试官并不是想考你快排的代码是如何写的,说实话,花个十分钟,最多半小时,一个快排的代码你肯定可以记住。但是其实考察快排的真正原因可能不仅仅是考察代码,而是考察它的思想,分而治之(分治法),划分算法的运用。
    另外可能会再问你,它的时间复杂度是多少,如何计算等这些问题,这些问题也不是来考你这一个算法的计算,而是通过这一个算法来看你知道怎么算时间复杂度不?以此来引导你为什么快速排序快,为什么同样是分治法的归并排序没有这么快。等等相关的算法方面的知识。
    面试官所考察的问题只是各种底层思想的一个运用,通过这个实例应用来考察对底层思想的理解程度。所以很多时候大厂的面试总是从浅入深的问问题,直到把你问到不知道为止。

    再谈谈「实」,实则可以理解为满,考察知识的广度。
    想象一下什么样的情况你才会说一个东西实,给你一晚装满的米饭,并且还压一压,再放进去一些米饭,直到压不下去了为止,这个时候你会说满满的一晚米饭,很实在。所以对「实」的理解就可以理解为满,全。
    如何来体现你对知识的广度呢,也就是实。
    比如可以考察一些你平时不常用的,但是你也许会用到的知识点。比如一些简单的算法和数据结构,链表呀,网络里面的 tcp/ip 协议族呀,函数式编程呀等等,一些 html5 的特性(比如 web-compoennt)等等。

    你可能在平时编程中没用到,或者大多数前端工程师平时不会用到,但是这些是基本功是需要知道的,比如 React 源码中就用到一些简单的数据结构,链表树就是用链表的结构存的,是一个单链表,以及里面还有循环列表的增删改查),如果不知道树可以用链表存,如何对链表进行操作,那么可能你看源码就很成问题。里面还有一些位运算等,位运算平时也不常用吧,但是 fb 的工程师就用它来解决实际问题。

    再比如 web-component,这已经是 w3c 提出的一个前端组件化的标准了,我国也有大佬用 web-component 实现了一些库,比如腾讯出的 OMI。

    我们前端变化得快,新东西也多,如何不跟上时代,多了解(主要了解,不是每个新东西都要去深究,因为你没那么多时间,大多数时间还是要用在平时用得到的地方)一些新东西。跟不上时代,也行就会慢慢的被淘汰,所以现在前端招聘基本上都会需要你会一门框架,不管是 React 、Vue、Angular,这些都是趋势,数据驱动,不再是以前拿起 jQuery 就是干了。

    在工作中常用的知识点,那些是最重要的,那么大家都会这些,如果你不知道点,别人不知道的东西,这些东西比别人掌握得更深一点,面试官为什么要你?

    程序员跳槽面试算法题不会就一刀切了吗
    答:是的。面试官通过考察候选人算法的能力来判定其基本功是否扎实、代码是否严谨、是否能快速掌握新技术的核心要领等等,所以面试非常重视手撕算法的能力。

    为什么面试都会问下很基础的知识,而实际工作中这些基础根本用不到...
    答:应聘者:如果框架确实能够有效地解决我的问题,我会愿意去学习并且使用它们的.可是,在我之前的开发经历中,还没有遇到过特别棘手的问题.招聘者:...2.关于高并发 招聘者:高并发算不算棘手的问题?你怎么应对高并发?应聘者:线程池加同步队列加拒绝策略,以保护服务器不会瘫痪.招聘者:你为什么不使用redis来...

    如何机智地回复面试官为什么不想做一个程序员的问题?
    答:把握重点,简捷明了,条理清楚,有理有据,回答问题的时候一定要简明扼要,一般情况下回答问题结论在前,议论在后。先将自己想要表达的主要意思表达清楚,然后再做具体的论述。在面试的时候紧张是难免,所以不要说太多多余的话,这样就容易跑偏了,就会将谈话的主题改变,往往不得要领,或者把问题的重点给...

    为什么应聘JAVA程序员却还要在笔试里答那么多C++的题?
    答:什么叫java不能描述数据结构? 还很不方便甚至无法描述?我只是觉得你只是学习了皮毛。一般学了皮毛的人都觉得飘飘然。懂得shh之后很多程序员就飘飘然,但是如果叫你抛弃ssh,自己搭一个可用的框架给别人用呢?你能搭得好吗?java很多是封装好了数据结构,但是你要去学习人家是怎么封装的,有了这些你才...

    大学让你快速成为编程大神的网站
    答:很多程序员都反映在BAT 等互联网企业的面试中都遇到过不少力扣上的真题。目前网站题库资源中有1000多套可以上手的编程题,主要分为 6 大板块:算法、数据结构、数据库、系统设计、面向对象设计、操作系统。 网站链接: https://leetcode.com Codewars Codewars 砌墙式进阶受到不少人的青睐不同等级有不同的题目,...

    程序员面试,为什么问题明明很基础缺很多都回答不上来?
    答:缺乏面试模拟 在解决问题时不要着急,否则只会导致更多的错误,显得你很粗心。紧张

    程序员面试有什么注意事项?
    答:几轮面试下来,能熬到最后,这绝对是真正意义上的“过五关斩六将”了。很多优秀的程序员业务能力很过硬,但都因为在面试的时候发挥失常,从而屡屡与大厂失之交臂。所以,每一个面试成功者,都算是勇士。要给自己点个赞!那么面试时,我们究竟需要注意什么呢?今天,北大青鸟就教给大家几个面试成功的...

    程序员应该怎样去面试? 程序员面试注意事项
    答:2、重视项目经验的介绍。无论是应聘初级程序员还是主力程序员,项目经验都是面试官最为关注的内容之一,也是面试者能力的衡量标准之一。在项目介绍的时候要选择比较有代表性的项目,简单的说就是规模越大越好,参与程度越深越好。能够清晰的描述自己在项目中的工作职责和最终的完成情况。3、重视解决问题的...

    以后想去当程序员,找工作面试时会不会考红黑树操作这样恶心的问题...
    答:或许会有,红黑树也属于算法之一吧,看招聘者对应聘者的要求而定

    hr面试程序员问什么问题,程序员在面试的时候的注意事项
    答:通常情况下,出于项目的紧迫,我们会倾向于选择看起来靠谱的第一个程序员,但是不拿到他的编程测试结果,不要冲动地下offer。我也是个不懂代码的HR,但是我善于利用各种各样的工具,前段时间发现了一个猿圈测评的工具,我用它测试程序员候选人,通过测试结果判断是否值得邀约来面试,这个我觉得很赞,你可以...