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

2024-08-19 10:36:04 +08:00
 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% 都进不去

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

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

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

面试官是真的抽象

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

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

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

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

© 2021 V2EX