时隔一个月,我又来分享面试经历了

32 天前
 lijianan

时隔一个月,我又来分享面试经历了(话说今年找工作已经离谱到这种程度了吗)

挑几个觉得抽象的公司分享一下(都是最近面的):

第一家:

公司背景:base 上海,规模不大,20 人不到

一面挂,面试过程中一点技术不问,简历上的技术和项目一点不问,抓住 SEO 优化埋点相关异常上报 相关的问题不放,聊了一些过往的相关经验,但聊的不是很深,最后对方说,他们招聘非常谨慎,他们需要 C 端经验比较丰富的候选人,而我的项目经验大多偏 B 端,所以短时间内应该不能给我答复(说到这里我也不抱希望了,简历上写的很清楚,方向不对口,干嘛还约我面试)

第二家

公司背景:base 上海,规模不大,20 人不到,AI 方向

首先是笔试题,一个难度比较大的算法,参考 GPT 答案写出来了,然后是一面,问了一些常规的项目和技术,过程不是很顺利,本来以为挂了,没抱希望了,没想到过了一周 HR 通知过了,然后安排了二面,二面是系统设计,面试官是后端负责人,题目是 设计一个酒店预定系统,共享屏幕,写了系统设计的过程,重点写了 需求分析技术选型接口设计 三大模块:

  1. 需求分析:包括 功能需求非功能需求,功能需求包含登录注册、浏览列表、搜索酒店、预定房间、支付逻辑、订单管理、用户评价打分、取消订单等等模块,非功能需求包含了性能优化、扩展性设计、UI 、交互优化、安全性、用户隐私、埋点分析等等模块

  2. 技术选型:主要对比了前端的不同领域、不同技术栈的区别、以及每个 lib 适用的场景,这块是比较拿手的东西,感觉没有什么问题(但是由于对方不是前端,所以不确定有没有听懂我说的)

  3. 接口设计:参考上面的需求分析做了 api 设计,包括接口 api 命名,详细到了接口入参出参(顺便对比了 GraphQLREST ful 两个规范的区别和优缺点)

一套系统设计下来,大概写了 50 分钟,差不多一页半文档,个人感觉没啥问题,最后还是挂了,没给原因(另外前端的技术一点没问)

第三家

公司背景:base 杭州,规模不大,15 人左右

一面线下,中午两点跑去公司聊了一下,当时是杭州最热的时候,地表温度 60 度,到家之后发现鞋底子都融化了,聊的过程比较顺利,项目经验也是非常对口,但是负责人说他们老板比较看重学历,一般需要 92 起步,所以要先帮我问问

问了之后说可以约二面,然后约了二面(先说一下,这家老板是真的看重学历,但是很离谱,他自己又不愿意承认,也不想把这个事情搬到台面上来讲,所以二面专门安排了不懂前端的 AI 工程师面试算法,应该是打算让我知难而退,当然了,这些只是我的猜测,如果不是,算我冤枉了你):两道算法题,一道 easy ,一道 hard ,限时 50 分钟,最后用了 45 分钟,全做出来了

然后到了老板面,上面说了,老板很看重学历,为了让我知难而退安排了算法面,结果没想到我过了,然后不回我消息了,再然后第二天,负责人回复说,老板又仔细看了一下简历,还是觉得学历不行,学历不行就是潜力不够,所以决定不给我通过,到这里我已经无语到懒得回消息了,那一开始干嘛约我面试呢

第四家

公司背景:remote 办公,规模不大,20 人左右

首先 Coding Test ,需要编写一个 Server 应用,应用内容是一个 User Profile 页面,包含展示用户名、性别、手机号、邮箱等字段,所有字段需要 支持编辑和保存,并且需要持久化保存到数据库,包括后端接口都要实现,自行选择 DB library ,最后还需要部署到他们公司的 server 上面,并且给了详细的文档,教你怎么操作,并且还建了专门的 Testing 答疑群,遇到问题的话可以在群里问,完成之后需要把代码提交到 GitHub 个人公开仓库里面,然后回复邮件,限时三天,Coding Test 通过之后才可以正式约面

这里实现功能大概用了半天时间,包括前端页面和后端接口(vite+React+antd+nest.js一把梭),难点在于 搭建环境 & 构建过程 遇到很多坑,包括启动 server 实例创建应用初始化应用模板,这一些列操作都需要使用 他们自家的脚手架工具,折腾这些的过程中遇到很多报错,后面问了一下才知道,他家的脚手架不支持 windows 系统,目前只能在 mac 上运行,没办法,为了完成 test ,我又在本地装了 docker,在 docker 环境里面运行部署操作(庆幸我的系统是旗舰版 Windows ,因为 docker 不支持学生版和家庭版),后面部署在本地节点的过程又遇到一些列问题,不清楚是他们的脚手架有问题,还是我的环境有问题,折腾到这里,已经打算放弃了,于是回复了邮件:目前已经花费了两天时间,精力有限,还需要时间去准备其它公司的面试题,所以到此为止了。

虽然最终没有按照要求把应用部署到他家的容器上,但还是把代码传到 GitHub ,贴在邮件里面了。本来以为笔试没过,没抱希望了,但是过了几天 HR 通知笔试过了,可以安排面试。

接下来是一面,过程 90 分钟,聊天大概 30 分钟,问了一堆八股文,剩下一个小时都在做题,具体什么题目想不起来了,总之难度不高,做完之后时间还没到,面试官又要求换个 api 实现,也做出来了(一面遇到的所有问题,答案都需要共享屏幕写出来,不能光用嘴说,包括八股文,1234...每一点都要写出来)

第二天通知一面过了,然后又约了二面,二面同样 90 分钟,聊天大概 20 分钟,剩下一个多小时都在做题,场景题:需要实现一个 移动端的九键输入法,刚开始拿到题目的时候觉得很简单,但是真正写起来发现有很多细节需要去做,首先简单的布局,除了 12 个主体数字按钮,还包括一个拨号按钮、一个退格按钮,然后部分数字按钮下面有字母,比如 数字 2 对应 ABC数字 3 对应 DEF,短时间内连续按同一个键时,需要从数字切换到字母,这些细节都需要处理妥当,在实际编码的过程中,发现有三个 case 需要处理:

  1. 两次按键是同一个键,未超时,反复点击时修改最后一个字符
  2. 两次按键是同一个键,已超时,点击时追加数字
  3. 两次按键是不同的键,点击时追加数字。

核心逻辑:用 currentKey 记录当前按键、用 letters 记录当前按键包含的所有字母、用 letterIndex 记录当前是第几次重复按下,也就是切换到哪个字母,然后用一个防抖记录按下同一个键时是否超时,最后用一个 inputValue 记录所有按下的键,一顿操作之后,最后大概实现了 80% 的功能,时间到了,被面试官喊停了,测试的过程中发现了一个小 bug ,但是主要逻辑没问题,实现思路也没问题。所以我猜应该能通过。然后面试官又想让我实现一个 T9 输入法(实际上我都不知道什么是 T9 ,还让对方给我解释了一下),但是时间有限,对方只是让我说了思路,这里我提到跟自动补全的思路有点像,首先需要一个词库,然后预处理,先把词库变成数字组合(方法有很多,正常的匹配思路就是一个个找前缀),但是实际的实现肯定更加复杂,我就说不出来了,但是我又提到了 Facebook 出品的 lexical 富文本编辑器,这个编辑器内置了自动补全单词的功能,我告诉面试官,我看过这个源码,里面就有一个很大的词库保存在本地。

到这里二面就结束了,其实我已经失去耐心了,毕竟在这家公司上投入的时间和精力已经远远超过了其它公司,前面的笔试用了两天,后面的两轮面试又花了四个小时(因为失业的时候作息比较乱,白天都在睡觉,强制起床参加面试,还要把精神最好的一面表现出来)

再然后 HR 通知二面过了,又约了三面(又是 90 分钟的过程,包含一个大的场景题,我是真的头大)

三面约在周末中午,先是聊了一下二面的场景题,问我后面实现的出现了 bug 是什么原因,其实我真想说是因为时间不够,然后聊了 20 分钟的项目亮点和难点,又到了场景实现环节了,他说他比较喜欢考察移动端的九键输入法,但是二面已经考过了,所以三面换一个场景,实现一个谷歌日历,我真是两眼一黑。核心功能:以天为单位,精确到小时,垂直布局,显示 24 个小时,区分上午下午,并且当前的时间要显示一条高亮的线,并且支持事件预约、调度,被预约的时间段高亮显示,如果同一个时间有多个事件,那么高亮部分也需要重叠显示,大概这些吧,基本和谷歌日历一模一样,过程懒得说了,结果就是只实现了一半,点击当前时间可以选中进行预约,支持当前的时间显示一条高亮的线(这里计算的逻辑浪费了十几分钟,要计算当前的分钟是一天当中的第几个分钟,然后计算出这条线的位置,并且需要用定时器,每隔 1s 更新当前时间,然后计算 div 高度,对这条线进行偏移)到这里基本上一个小时过去了,时间不够了,被面试官打断了,也没有给反问的机会,直接结束了面试。到这里已经基本猜到挂了。

到这里,我并不觉得是自己的问题,一个小时实现出这个场景,在我看来是一件不太现实的事情,毕竟在以往工作中,类似的需求排期都能给我一周时间,再想起来当初 antd 的 DatePicer 组件重构工作,就连强如豆酱这种级别的巨佬,当年也重构了两个月。(虽然不是一个量级的)

然后果然过了两个小时,HR 来通知我三面挂了。

总之在这家面试中投入了巨大的时间和精力,最后突然觉得很不值得,早知道不如笔试题直接给我挂了,也省的约面试了。(另外其实我比较好奇这家公司的面试通过率是多少)

后面还有两家抽象公司,懒得记录了

最后只想说一下,按照这些标准的话,现在在职的员工重新入职,保守估计有 80% 都进不去

最后附上个人简历,杭州求内推:

24028 次点击
所在节点    职场话题
206 条回复
hideon
31 天前
看完 OP 的描述,我觉得 OP 技术还是很强的,至少比我好。唯一奇怪就是面试都是小公司,而且他们的要求高得离谱,还有要求部署的,真让我长见识了。如果有这样能力,建议去正规中厂大厂,他们的面试都是正常的,以 OP 的能力通过不是难事啊
muchengxue
31 天前
说明杭州这地不行,还是来北上深吧。
xqk111
31 天前
总体还是行情不好,
ttyy22007
31 天前
@hideon 可以看下他上一条帖子,大厂基本都挂了
boblin
31 天前
我觉得第三家,就是学历那家,最离谱...
lzblalala
31 天前
也许你应该去问下 HR ,挂的原因,不能稀里糊涂的挂
zackzergzeng
31 天前
第四家感觉在白嫖你,让你帮他们做他们正在弄的项目
caiji11
31 天前
服了 感觉你浪费了好多机会
raylax7
31 天前
第四家是某某某 block 吧😂
muchengxue
31 天前
@muchengxue 不过,现在这行情还是得有人脉,靠熟人内推。
jojobo
31 天前
上海两家公司分享一下呗
raylax7
31 天前
@raylax7
一样的 Coding Test ,我以为考察基本代码风格和工程化能力。
没用 UI 组件库,用 vite/react/express/tailwindcss 自己撸的样式,后端简单存一下就行直接 json 序列化保存文件了。
用了接近 3 个小时完成了,能在他们的环境运行起来,可能太简陋了,直接没过。
Jooeeee
31 天前
面后留大作业的公司,让面试者投入大量的时间,而面试官却不需要任何投入。大部分情况下这种公司会比较抠+卷。
如果要检验架构能力,只需要设计好架构、流程,再讨论总体框架,项目经验的,就可以验证。
如果是要检验代码能力,leetcode 题目,接口实现等,用一两个小时写一下代码,也能看出代码能力和风格。

如果需要用一两天时间完成,公司就没有很强的招人意愿,所以建议抱着学习的心态,考虑框架设计,用一两个小时画一画架构图、流程图等,能体现出能力就差不多了。如果做到这种程度还不行,也没必要去了。
zy445566
31 天前
个人感觉还是 OP 要价高了,尤其是第三家老板看重学历的那家,给机会给你面试其实就是看履历能过的意思
比如:
“老板又仔细看了一下简历,还是觉得学历不行,学历不行就是潜力不够,所以决定不给我通过”
其实潜台词就是:
“我斟酌了很久,你能力是很强,当是你要价比 985 还高,我还是不赌你未来为公司创造的价值了”
Hilong
31 天前
@chuck1in #6 我也过不了,我前面一面就过不了
zy445566
31 天前
其实小公司基本都是价格敏感性,如果大公司面试成功了,倒是可以无所谓开价了
whyzp2019
31 天前
这尼玛面试,换我我一个也过不了
UN2758
31 天前
握草,这第四家真的就是纯粹刷 kpi 啊,互联网劳动力市场还是爆炸吧
isnullstring
31 天前
都是小公司,说倒就倒
declandragon
31 天前
『但是由于对方不是前端,所以不确定有没有听懂我说的』

面试官是真的抽象

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1066039

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX