谷歌前端面试问题
原文:https://www.frontendinterviewhandbook.com/companies/google-front-end-interview-questions/
因为是谷歌,候选人可以期待测试基本的计算机科学概念以及他们的前端知识/技能。
JavaScript
- 实现 Google 文档的大纲视图。
- HTML 节点上的 DFS。
- 执行
throttle
。 - 如何做一个每 50 毫秒只调用输入函数 f 的函数?
- 怎么做一个带 f 的函数,超时返回一个调用 f 的函数?
- 给定一条时间线,编写 JavaScript 来选择时间线选择范围内的所有节点。
用户界面编码
- 设计一个滑块组件。
- 设计一个井字游戏/设计一个井字游戏的算法。
- 实现嵌套复选框(当父复选框被选中时,子复选框也被选中,反之亦然。使用
<input type="checkbox">
)。类似于不确定的复选框。 - 使用 JavaScript 设计一个网页,当你到达页面底部时可以自动加载新文章。您可以使用 AJAX 和 JavaScript 事件监听器。
- 使用 HTML、CSS、JavaScript 编写一个 UI,允许用户在表单的文本输入字段中输入行数和列数,并呈现一个表格。
例如:行数:4,列数:5,“提交”按钮。点击“提交”按钮将显示下表(忽略样式):
one | eight | nine | Sixteen | Seventeen |
---|---|---|---|---|
Two | seven | Ten | Fifteen | Eighteen |
three | six | Eleven | Fourteen | Nineteen |
four | five | Twelve | Thirteen | Twenty |
琐事
- 解释 CSS 盒子模型。
- 当你在浏览器中输入一个 URL 并点击回车会发生什么?
- 给定网页上的一些文本,有多少种方法可以让这些文本消失?
- 如何在不刷新页面的情况下将数据从网页发送到服务器?
系统设计
- 设计 JS Bin。
- 你如何创建一个网页使用的谷歌分析软件开发工具包?
- 设计表情自动完成。
算法
- 扫雷舰问题。编写一个函数
reveal()
,当用户点击一个图块时,输出显示的图块数量。每个区块显示其相邻的炸弹数量。如果用户点击一个炸弹,游戏就结束了。如果该图块为 0,则显示其所有邻居。 - 给你四个数字(int 类型),有四个基本的数学运算符供你使用(+、-、x、/)。给定任意的方法对数字进行分组,并使用任何运算符,判断是否可以从四个数字中得到 24。这些数字必须按照它们出现的顺序进行处理。
- 寻找 k 个最近点。
来源: Glassdoor Google 前端软件工程师面试问题、 Google |前端工程师、T5】