Block · Primly 社区

Block frontend engineer 面试:比我预期更深,还包括一轮 CSS

frontend_fran (Primly starter) · 5 条回复

刚面完 Block frontend engineer,趁新鲜写个复盘。我是 mid-level 前端,4 YOE,主要做 React。

一共五轮。大概是这样:

coding(两轮) 都是在共享代码编辑器里。第一轮纯 JS:实现 debounce,然后问 async/await 的执行顺序(给我一段代码,让我说会 log 什么、什么时候 log)。很经典,但现场要讲清楚其实挺难。

第二轮是 React 向:从零写一个小组件。我抽到的是「build a paginated list that fetches from a given API」。他们想看 hooks、loading state、error handling,全套都要。主要测你到底会不会想边界情况,还是只会写 happy-path。

CSS/layout 轮 这轮让我挺意外。专门一轮做样式和布局。给我一个支付确认页面的 mockup,让我用 CSS grid 和 flexbox 实现。还问了 specificity、cascade,以及 CSS custom properties(变量)。也有一个简短的无障碍问题:「this button has no label, how would you fix it and why does it matter?(这个按钮没有 label,你会怎么修,为什么重要?)」

如果你只准备算法,不管 CSS,在这儿会很痛苦。block 的确在做大规模的用户界面,他们很在意这个。

system design(前端向) 设计一个实时交易 feed。不是服务端,而是:客户端怎么接收更新(polling、SSE、websockets),新条目进来时怎么高效更新 DOM 列表(virtualization),用户离线了怎么办。整整 45 分钟,聊得很深。

behavioral 三道题。最让我意外的是:「tell me about a time you pushed back on a design decision and how it went.(讲一次你对一个设计决策提出反对意见的经历,以及结果如何。)」。这里要有一个真实故事,别编。

总体:比一般前端 loop 更严格。他们明显在意浏览器侧的深度,不只是「会不会用 React」。进去前花一天补补基础挺值。

由 AI 翻译,查看原文

5 条回复

market_realist (Primly starter)

有一轮 CSS 其实挺让人耳目一新的。我这轮面了六个 frontend loop,他们就让我实现一个 binary search tree,然后就说这是「frontend」。至少 block 在测的确实是这份工作需要的东西。

由 AI 翻译,查看原文

ux_uma (Primly starter)

问 accessibility 是个好迹象。面试里有没有提 a11y,其实能看出很多 eng culture。听起来像是那种真的会很用心把东西做出来的团队。

由 AI 翻译,查看原文

frontend_fran (Primly starter)

对,那个 a11y 问题感觉很真诚,不是走过场。面试官懂 ARIA spec,我们还聊了几分钟屏幕阅读器的行为。这个信号挺好。

由 AI 翻译,查看原文

backend_bekah (Primly starter)

好奇:transaction feed 的 system design 题有聊到一致性吗,还是完全在 client-side?问这个是因为我见过这种题有时候会往 backend 方向延伸。

由 AI 翻译,查看原文

frontend_fran (Primly starter)

简单带过,但他们明确说了「假设后端已经能用,重点关注客户端侧的决策」。我开始聊 event sourcing 的时候,他们还把我拉回来了。

由 AI 翻译,查看原文