当前位置:首页 > 每日看点 > 正文内容

如何评价阿里等大厂笔试现已经禁用本地IDE?

卡卷网7个月前 (01-17)每日看点114

我现在面现场面试,允许候选人自己带电脑(也可以用公司提供的电脑),允许使用搜索引擎,甚至可以问ChatGPT. 当然,全程都是把屏幕投影到会议室的大屏幕上的。

面试题是我事先准备的一个Git repo, 里面有一个简单的Web服务,我事先在里面埋了一些坑。候选人要自己clone下来,自己看ReadMe文件,然后用docker compose把一个模拟的环境跑起来,调试一些代码里存在的问题,并且按照要求加一些新功能。题目本身还是要考察算法和数据结构的,有时候还会涉及一些OOD的方面。当然题目我故意设计成有很多个方向的,并不要求候选人把所有问题都写出来,一般我会随便挑一两道题来问。

这个过程中可以获得远多于LeetCode算法题的信号。比如

  • 候选人是否会快速阅读代码,定位到和面试题相关的部分
  • 候选人在遇到报错的时候,会以什么方式去调试,找出问题所在
  • 候选人在遇到自己知识盲区的时候,如何使用搜索引擎或者大语言模型来寻找解决方案
  • 即使候选人直接问ChatGPT, 我也可以观察他是如何提问的,得到回答以后又是如何使用的(直接复制代码,还是先看原理)
  • 候选人是否知道git的基本用法,比如clone代码,以及面试完成后commit代码
  • 候选人是否会使用docker, 理解docker的工作原理

面试原则上不要求候选人熟练使用git, docker等工具,但是能现场搜索快速学会也是一种技能。

当然,面试题的主体还是以算法和数据结构为主,比如解析一个日志文件,统计里面的数据,并且生成一些指标。这里面就能考察基本的数据结构,还有怎么用sliding window实现metric统计。

有些候选人说自己精通Python, 但是连怎么读文件都不知道。有的候选人一上来就开始写正则表达式,也不先看一下测试数据的结构。

差的候选人连Python怎么安装都要问ChatGPT, 强的候选人带着自己配好的Vim来面试,各种功能齐全,比VS Code都强大。

有个候选人GitHub密码输不对,我就说,那你试试用SSH方式来clone呢。他没有配SSH key, 搜索了一下网上的资料,然后配置了一下,成功clone下来了。从这个过程我能看出,候选人似乎从来没有用过SSH方式clone. 这是减分项。但是他又能够快速看网上的教程配好,说明有较强的解决问题的能力,算是加分项。

另一个候选人没带电脑,用了公司的Windows电脑,docker容器启动以后怎么都打不开里面运行的Web server, 他能够现场调试,找到在Hyper-V上运行的Docker虚拟机的配置问题,然后解决好。可以看出他在这方面经验丰富。

这种面试形式的好处是,可以完整地评价候选人写代码的能力以及解决实际问题的能力,这和很多人每天实际的工作内容比较接近。比面八股文和LeetCode算法题更加有效。当然,坏处是设计一个覆盖各个方面的题目比较麻烦,如果有人把完整的题目和解法公布到网上,就会丧失不少信号。


答复一下一些评论

  • 配环境不是面试的重点,请不要误解。面试的主体内容仍然是写代码。我希望规避的是LeetCode上那种纯算法题。比如动态规划的题目。这类题目非常糟糕,对于熟练的人来说很快就能写出来,但是对于不熟悉动态规划的人来说,在有限的面试时间里几乎不可能凭空想出来正确的方法。再说,现实工作中动态规划也很少用到。所以Facebook/Meta的面试培训里是明确禁止面动态规划的题目的。
  • 有人似乎误解了面试题,我已经修改了上面的内容。当然不是随机挑一个repo让候选人去跑,肯定是提前设计好的一个面试题的repo.
  • 面试肯定是用访客网络的,不可能连到公司的生产/开发环境里。所有的代码也都是公开领域的东西,没有公司私有的组件。所以不存在信息安全的问题。
  • 对大多数人来说,日常工作要实现算法的概率不大,主要的任务有两种,一种是读懂一个已有的代码库,并且修复bug或者加新功能。这是我这轮面试重点要考察的。另一种是快速学会一个新的框架,可以是开源的框架,也可以是公司内部的框架。然后用框架来实现某个功能。比如看文档写一个数据管道(data pipeline). 这两种任务所需的技能,完全无法通过算法题来考察。我见过不少刷题刷得很熟练,但是上手一个新框架新工具很慢的人。
  • 现在(2024年),后端工程师如果完全不会用Docker, 我觉得是非常不合格的。即便不是所有公司都用Docker, 但是至少要了解容器化的技术。如果完全不知道,可以认为这个候选人没有技术的思维(technical sense). 在我的评价标准里,这是减分项。

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2025/01/9527.html

分享给朋友:

相关文章

那些极速版软件其存在目的是什么?

那些极速版软件其存在目的是什么?

我看了很多回答,其实都没有回答道点子上。你知道极速版APP为什么叫极速版吗?是他看视频更快吗?显然不是。只是它的安装包体积更小,下载安装速度更快而已,所以叫极速版app。当然啦,现在极速版APP和原声版APP,安装包已经没有区别了,这是因为...

电视参数哪个最重要?

电视参数哪个最重要?

在选择智能电视时,面板类型是一个关键因素。IPS面板以其宽广的视角和出色的色彩还原能力受到青睐,尤其适合日常观看和游戏。尽管可能会有轻微的漏光,但在大多数情况下,这并不影响使用体验。相比之下,VA面板提供更高的对比度和更深的黑色,增强了沉浸...

Photoshop 有哪些使用技巧?

Photoshop 有哪些使用技巧?

不看后悔系列!本篇分享25个PS实用的技巧!不能保证每个都能让你惊艳,但是却是我用心写出来的,希望对你有帮助。另外我的知乎也写了接近200篇PS的技巧,超级合集分享!分享25个关于PS的技巧一、快速制作文字倒影1、新建文档,1500×100...

你捡过最大的漏是什么?

你捡过最大的漏是什么?

买了套二手房,软磨硬泡便宜了1个w 结果就是一屋子狼藉 原业主说反正你们要重新装修 就不收拾了 等完了你们一起收拾掉吧 落了很多柜子 电器是啥的 今天打开卧室柜子一看…现在是去存钱的路上有朋友知道这样存钱银行会给发大米跟油吗...

用红米手机会很丢人吗?

前些日子遇到了一位快递小哥,京东的,签收小哥年纪不算大,目测二十多岁他的手机上全是一道道极严重的划痕,有点卡,他开热点了,热点名就是手机型号,红米9a,我父母的同款现在他那边操作了一会,然后又是我这边操作了一会小哥看着我手机刷刷的,颇有些好...

在 Kubernetes 中,Service 的实现原理是什么,它是如何实现服务发现的?

行,问的这个问题挺有意思,Kubernetes 里 Service 是怎么实现的,服务发现是怎么回事,咱就直说了。这事儿看起来挺玄乎,但掰开揉碎了讲,也就那么回事。你得把这事儿想得简单点,别一上来就被啥术语吓住了——其实全是些搬砖的套路。咱...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。