V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Richard14
V2EX  ›  问与答

软工类工作,面试考察底层知识是否合理?

  •  
  •   Richard14 · 2022-07-11 05:17:25 +08:00 · 2090 次点击
    这是一个创建于 648 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近感觉首页很多在晒面试题的,想到一个问题是做互联网业务上与底层完全无关,但如果面试考察底层的话,(比如考察计算机系统、数电等知识),合理吗?

    第 1 条附言  ·  2022-07-11 05:58:45 +08:00

    比如面试题1:

    手写一个算法将2进制字符串100101转化为10进制数字(37)

    面试题2:

    提供一些全加器(五个逻辑门构成,细节不表)的情况下,如何用他们组合成一个可以进行加减法运算的加法器单元?如果用组装成的加法器计算100101+100101,其得到结果的速度与通常可编程程序执行同样逻辑(比如int main() {printf("%d\n", 37+37)}),你觉得两者速度会相差多少?速度差距主要在哪些环节产生?

    (开放性题目,无标准答案,根据回答内容丰富度进行评价)

    感觉好坏分别是,坏处是问题非常无厘头,因为实在不是业务相关的东西,我被问到大概会楞一下。好处可能是因为从数电、操作系统、编译一路考察上来,能够有效筛选科班出身人员和培训班人员?

    16 条回复    2022-07-11 19:51:42 +08:00
    66450146
        1
    66450146  
       2022-07-11 06:33:15 +08:00 via iPhone
    1 这种问题,真的和业务完全不相关吗……很多的业务难度不就是这种操作的复杂版吗,这种都做不出来的人怎么信任他们写业务😂
    singerll
        2
    singerll  
       2022-07-11 06:36:04 +08:00 via Android
    那我还想问你。
    事业单位,国企,公务员,大部分岗位都是写材料,有的甚至是端茶倒水,高中生都能做,但最低要求 985 本科或者研究生是否合理?
    GeruzoniAnsasu
        3
    GeruzoniAnsasu  
       2022-07-11 06:53:55 +08:00   ❤️ 1
    合理,但你举得例子不太合理。

    首先不是所有的岗位需要掌握的基础知识都一样,除非你想考察的基础知识就是算法,那另说。

    进制转换这种教科书第一章第一节的示例题,答出来也说明不了什么,也不是个好的展开点。你也许想考察 CPU 相关的知识或者浮点或者格式化字符串输出,但从进制转换开始都很生硬。为考而考。

    第二个例子就更加为考而考了,硬件和软件考虑的领域完全不一样。假设你想考高级语言语法树到机器码到 CPU 硬件加法器的全实现,那其实只问「写下这行代码到输出结果发生了什么」也是可以的,为什么要先问怎么实现加法器呢?

    加法器可以由不同的逻辑门构成,但你知道为什么要选用特定的逻辑门来做吗——是集成电路印刷工艺的限制,材料、印刷难度、功耗、成本等。如果我需要考虑集成电路用什么逻辑门,要么我考虑的是前面讲的这些东西——这与你要考察的核心内容相去甚远;要么我在做一道没什么实际意义的智力题。

    面试不是知识展示,而是能力考察。你知道他知道更多东西的目的是确认他能做更多的东西,你并不需要确认你需要做的东西以外的所需知识。

    举个实际点(但其实也不是很有意义)的例子: /t/860741
    我可以通过「为什么会输出乱码」考察 unicode 的码表、编码、平台相关实现、语言相关实现、unicode 库的使用经验、内存安全性、web 安全( utf7 )等等知识,它们都可以从乱码这个话题展开,而且编码转换、操作系统适配、内存安全、web 安全都是比较实际的话题。


    ----

    题外话,学生时代都有种「做题优越」,因为学生时代的竞争力完全体现在解题上,而不论题目本身是否有价值。
    以后你会发现竞争力来自于「给事物赋予价值」,是很不一样的。
    lxfxf
        4
    lxfxf  
       2022-07-11 06:56:57 +08:00
    歪个楼,软工毕业可能都没学过数电。
    Suddoo
        5
    Suddoo  
       2022-07-11 07:43:16 +08:00 via iPhone
    考察底层知识合理

    但问的这些问题不合理,你可以给对方一堆沙子,让他造出一颗 cpu ,或者让对方从宇宙大爆炸讲起,这才是真正的底层知识
    GP1
        6
    GP1  
       2022-07-11 08:28:05 +08:00
    因为人太多了。
    MEIerer
        7
    MEIerer  
       2022-07-11 08:41:55 +08:00 via Android
    很合理
    WOLFRAZOR
        8
    WOLFRAZOR  
       2022-07-11 08:59:20 +08:00
    考察底层知识合理,但问的问题不合理。第一题还说的过去,但第二题就难了。软工可能连数电都没见过(如果是工业电气自动化这个专业的人转过来,这题肯定能答出来)。
    timeromantic
        9
    timeromantic  
       2022-07-11 09:13:52 +08:00   ❤️ 1
    问底层是为了考察面试者对计算机系统基础知识扎不扎实,如果不扎实,线上各类疑难杂症 bug 能独立解决的几率很小,类似操作系统跟计算机网络 2 门课程,是能解决很多问题的
    aguesuka
        10
    aguesuka  
       2022-07-11 12:40:32 +08:00
    你 hold 住第二道题吗, 如果别人用 verilog 写答案你看得懂吗, 对于自动化的学生来说, 你的题目就和"未曾设想的道路"没啥区别
    Richard14
        11
    Richard14  
    OP
       2022-07-11 13:14:18 +08:00
    @aguesuka verilog 我学的不好,但我确定题设范围内我能看懂。另外已经给出全加器了要求连加法器本质与小学数学无区别,仅考察该对象是否熟悉相关基础概念,用面包板做的话导线都用不了几根,不知道你为什么会想到用 verilog 来回答。另外又怎么涉及到自动化学生了,这是软工啊。。
    ivvei
        12
    ivvei  
       2022-07-11 13:15:03 +08:00
    第一题算是基础题,第二题过分了啊,考这题的意义是什么?
    Richard14
        13
    Richard14  
    OP
       2022-07-11 13:26:33 +08:00
    @66450146 1 纯粹是让上手写点东西。。。不是相不相关的问题,1 都写不出来别说不能写业务了,我看大一的教授都要给个挂科。。
    night98
        14
    night98  
       2022-07-11 16:18:55 +08:00
    合不合理另说,你这题出的像是为了提问而提问的问题
    MillerD
        15
    MillerD  
       2022-07-11 18:04:31 +08:00
    没接触过 /做不出来 -- 瞎几把出题
    做得出来 -- 合理
    aguesuka
        16
    aguesuka  
       2022-07-11 19:51:42 +08:00
    @Richard14 就是说这个题让自动化的人来做能做得更好, 用来考察程序员是不合适的.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1083 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 22:52 · PVG 06:52 · LAX 15:52 · JFK 18:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.