Skip to content

Commit

Permalink
contents(zh-CN): update and replace broken links for frontend intervi…
Browse files Browse the repository at this point in the history
…ew playbook (#484)
  • Loading branch information
DanielJames0302 authored Jan 7, 2025
1 parent 7b12e4a commit b4f0800
Show file tree
Hide file tree
Showing 9 changed files with 37 additions and 37 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -114,4 +114,4 @@ description: 这是前端/网站开发者面试中准备算法编码问题的指

## 实践问题

目前,最好的练习算法问题的平台无疑是 LeetCode。 但是,GreatFrontEnd 提供一些[数据结构和算法的练习问题](/questions/js/coding/data-structures-algorithms),在其中,您可以练习实现常见的数据结构([堆栈](/questions/javascript/stack)[队列](/questions/javascript/queue))和算法([二分查找](/questions/javascript/binary-search)[归并排序](/questions/javascript/merge-sort))等在 JavaScript 中的操作。
目前,最好的练习算法问题的平台无疑是 LeetCode。 但是,GreatFrontEnd 提供一些[数据结构和算法的练习问题](/questions/javascript-interview-questions/algo-coding),在其中,您可以练习实现常见的数据结构([堆栈](/questions/algo/stack)[队列](/questions/algo/queue))和算法([二分查找](/questions/algo/binary-search)[归并排序](/questions/algo/merge-sort))等在 JavaScript 中的操作。
Original file line number Diff line number Diff line change
Expand Up @@ -59,13 +59,13 @@ description: 准备前端/ Web开发人员面试中的编码问题——了解

请继续阅读每种编码面试类型的提示:

- [算法编码](/front-end-interview-guidebook/algorithms)
- [JavaScript 编码](/front-end-interview-guidebook/javascript)
- [用户界面编码](/front-end-interview-guidebook/user-interface)
- [算法编码](/front-end-interview-playbook/algorithms)
- [JavaScript 编码](/front-end-interview-playbook/javascript)
- [用户界面编码](/front-end-interview-playbook/user-interface)

## 练习问题

GreatFrontEnd 有一个长列表的[编码问题](/prepare/coding),您可以练习并花时间检查它们。
GreatFrontEnd 有一个长列表的[编码问题](/questions),您可以练习并花时间检查它们。

请注意,我们在某些问题中特意保持模糊,并没有提出完整的要求。 这是为了训练您提前思考并考虑在解决方案时可能需要注意哪些可能的事项。

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ description: 为前端/网站开发人员面试准备JavaScript问题的指南

1. 它传递 4 个参数给回调函数,包括 `index``this`
2. 它保留稀疏数组中的“空”,即 `[1, 2, , 4].map(val => val * val) === [1, 4, , 16]`
3. `map`处理的元素范围在第一个调用*callbackfn*之前设置。 在调用 map 之后附加到数组中的元素将不会被*callbackfn*访问。 如果更改数组的现有元素,则将它们的值作为传递给*callbackfn*的值在`map`访问它们时。 来源:[Array.prototype.map ECMAScript 说明]https://tc39.es/ecma262/multipage/indexed-collections.html#sec-array.prototype.map
3. `map`处理的元素范围在第一个调用*callbackfn*之前设置。 在调用 map 之后附加到数组中的元素将不会被*callbackfn*访问。 如果更改数组的现有元素,则将它们的值作为传递给*callbackfn*的值在`map`访问它们时。 来源:[Array.prototype.map ECMAScript 说明](https://tc39.es/ecma262/multipage/indexed-collections.html#sec-array.prototype.map)

您的实施不必处理所有这些情况,特别是数组突变的情况。 但是,如果您提到了这些情况,那么这是一个积极的信号。 您的实现越接近规范,您就会显得更加资深/有经验。

Expand Down Expand Up @@ -66,8 +66,8 @@ JavaScript 编码面试与算法编码面试有许多相似之处。 一般来

## JavaScript 编码面试规则

1. 通过参考下面的“重要概念”熟悉 HTML、CSS、JavaScript 和 DOM 概念。 [测验部分](/front-end-interview-guidebook/quiz) 也可以是一个好的开始,因为您可能会以测验问题的形式被问到这些概念。
2. 选择[学习计划](/get-started)并练习所选学习计划推荐的[JavaScript 编码问题](/questions/js/coding/utilities)。 在做问题的同时,也可以学习某个主题。
1. 通过参考下面的“重要概念”熟悉 HTML、CSS、JavaScript 和 DOM 概念。 [测验部分](/front-end-interview-playbook/quiz) 也可以是一个好的开始,因为您可能会以测验问题的形式被问到这些概念。
2. 选择[学习计划](/interviews/get-started)并练习所选学习计划推荐的[JavaScript 编码问题](/questions/javascript-interview-questions/javascript-functions)。 在做问题的同时,也可以学习某个主题。

## 重要概念

Expand Down Expand Up @@ -114,6 +114,6 @@ JavaScript 编码面试类似于算法编码面试,应该采用相似的方法
- [Deep Clone](/questions/javascript/deep-clone)
- [Data Selection](/questions/javascript/data-selection)

GreatFrontEnd 有[全面的 JavaScript 编码问题列表](/questions/js/coding/utilities),您可以练习。 还有可以运行您的代码以验证正确性的自动化测试用例,以及由前 FAANG 资深工程师编写的解决方案。
GreatFrontEnd 有[全面的 JavaScript 编码问题列表](/questions/javascript-interview-questions/javascript-functions),您可以练习。 还有可以运行您的代码以验证正确性的自动化测试用例,以及由前 FAANG 资深工程师编写的解决方案。

请注意,我们在某些问题中故意含糊不清,并没有在问题说明中全面介绍要求。 但是,我们将在解决方案中涵盖尽可能多的方面。 在阅读解决方案时,如果您发现错过了一些内容,可能会感到沮丧,但是这可以锻炼您的提前思考,并考虑在解决方案工作时需要注意哪些可能区域。 最好在练习期间找出,而不是在实际面试中发现。
30 changes: 15 additions & 15 deletions packages/front-end-interview-guidebook/contents/overview/zh-CN.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,19 @@ description: 前雇主的FAANG为前端/ Web开发人员面试提供了权威指

请不要担心! GreatFrontEnd 旨在成为前端工程师通过一站式平台获得必要知识并进行前端面试的最佳资源。 在 GreatFrontEnd 上,读者可以:

1. 学习如何创建一个专门针对前端工程职位的[**精彩简历**](/front-end-interview-guidebook/resume)
1. 学习如何创建一个专门针对前端工程职位的[**精彩简历**](/front-end-interview-playbook/resume)
2. 学习适用于所有问题类型的**重要的前端概念和技术**
3. 准备最常见的**前端面试问题类型**(编码,系统设计,测验,行为)。
4. [**练习问题**](/questions),涵盖最常见的前端面试格式和由前 FAANG 高级工程师编写的**高质量解决方案**
5. 浏览建议的[**学习计划**](/get-started),并采用**结构化准备方法**
5. 浏览建议的[**学习计划**](/interviews/get-started),并采用**结构化准备方法**

## 准备精彩简历

您的简历是给潜在雇主留下印象的第一次机会,因此对于得到梦想公司的短名单至关重要。

如果您在申请工作时遇到了困难,即使拥有必要的资格,也可能是因为您的简历。 即使高素质的候选人可能也不知道如何有效地展示他们的成就在简历中,因此可能无法获得短名单。 需要记住的是,低资格并不总是不被选中的原因;有时只是因为呈现不良和未包含重要内容。 一旦您通过简历筛选流程,过去的成就就变得次要了,您的技术能力成为首要考虑因素,这可以通过学习和改进来实现。 因此,通过提交代表您的高水平的优秀简历,进入门槛是极其重要的。

虽然已有一些有关制作良好的软件工程简历的资源,例如[Tech Interview Handbook](https://www.techinterviewhandbook.org/resume/)[FAANG Tech Leads 的简历手册](https://www.faangtechleads.com/resume/handbook),但它们都是通用的,不是针对前端工程师的。 我们写了一些[如何为前端工程职位定制简历的技巧](/front-end-interview-guidebook/resume)
虽然已有一些有关制作良好的软件工程简历的资源,例如[Tech Interview Handbook](https://www.techinterviewhandbook.org/resume/)[FAANG Tech Leads 的简历手册](https://www.faangtechleads.com/resume/handbook),但它们都是通用的,不是针对前端工程师的。 我们写了一些[如何为前端工程职位定制简历的技巧](/front-end-interview-playbook/resume)

## 按问题类型准备

Expand All @@ -35,9 +35,9 @@ description: 前雇主的FAANG为前端/ Web开发人员面试提供了权威指

编码问题将涉及编写代码(搞定!)。 但您需要编写的代码以及您将编写代码的平台可能截然不同。 您可能会问到:

1. **算法编码**:解决棘手的算法问题,评估您对数据结构,算法和时间复杂度的理解。 [阅读算法编码面试](/front-end-interview-guidebook/algorithms)的相关内容。
2. **JavaScript 编码**:在 JavaScript 中实现与前端领域相关且在前端开发过程中常用的函数或数据结构。 [阅读 JavaScript 编码面试的相关内容](/front-end-interview-guidebook/javascript)
3. **用户界面编码**:使用 HTML,CSS 和 JavaScript 构建用户界面(组件,小部件,应用程序),有时甚至包括使用 JavaScript 框架。 [阅读有关用户界面编码面试的相关内容](/front-end-interview-guidebook/user-interface)
1. **算法编码**:解决棘手的算法问题,评估您对数据结构,算法和时间复杂度的理解。 [阅读算法编码面试](/front-end-interview-playbook/algorithms)的相关内容。
2. **JavaScript 编码**:在 JavaScript 中实现与前端领域相关且在前端开发过程中常用的函数或数据结构。 [阅读 JavaScript 编码面试的相关内容](/front-end-interview-playbook/javascript)
3. **用户界面编码**:使用 HTML,CSS 和 JavaScript 构建用户界面(组件,小部件,应用程序),有时甚至包括使用 JavaScript 框架。 [阅读有关用户界面编码面试的相关内容](/front-end-interview-playbook/user-interface)

公司愈趋趋向使用领域特定的编程问题,而不是测试关于算法和数据结构的知识,因为前者对于评估前端工程工作所需的核心技能更为相关。

Expand All @@ -53,23 +53,23 @@ description: 前雇主的FAANG为前端/ Web开发人员面试提供了权威指

大多数情况下,前端工程师将被要求设计客户端应用程序和复杂的用户界面组件,因为这些产品更相关于前端工程。

[了解关于前端系统设计的更多信息](/front-end-interview-guidebook/system-design)
[了解关于前端系统设计的更多信息](/front-end-interview-playbook/system-design)

### 测验问题

测验问题也称为琐事问题,是用于测试您对领域的理解的短问题。 每个问题不应花费超过一到两分钟的时间。

通常不会有整个面试环节只问测验问题,但它们可能会在其他面试环节中出现。

[阅读有关测验问题的更多信息](/front-end-interview-guidebook/quiz)
[阅读有关测验问题的更多信息](/front-end-interview-playbook/quiz)

## 行为问题/面试

在行为面试中,面试官会询问您过去的行为和经验,以评估您是否适合该工作和成熟水平。

行为面试背后的理念是,过去的行为和经验是了解某个人将来行为的良好指标,因此面试官将提出旨在让您描述您所面临的具体情况以及您如何应对它们的问题,以更好地了解您的个人能力。

行为面试是一个大型主题,我们[撰写了一个完整的指南](/behavioral-interview-guidebook)
行为面试是一个大型主题,我们[撰写了一个完整的指南](/behavioral-interview-playbook)

## 典型的招聘流程

Expand Down Expand Up @@ -135,9 +135,9 @@ description: 前雇主的FAANG为前端/ Web开发人员面试提供了权威指

继续阅读,了解如何准备以下前端面试格式/问题类型:

- [编程问题](/front-end-interview-guidebook/coding)
- [算法问题](/front-end-interview-guidebook/algorithms)
- [JavaScript 问题](/front-end-interview-guidebook/javascript)
- [用户界面问题](/front-end-interview-guidebook/user-interface)
- [系统设计问题](/front-end-interview-guidebook/system-design)
- [测验问题](/front-end-interview-guidebook/quiz)
- [编程问题](/front-end-interview-playbook/coding)
- [算法问题](/front-end-interview-playbook/algorithms)
- [JavaScript 问题](/front-end-interview-playbook/javascript)
- [用户界面问题](/front-end-interview-playbook/user-interface)
- [系统设计问题](/front-end-interview-playbook/system-design)
- [测验问题](/front-end-interview-playbook/quiz)
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,6 @@ description: 准备测验式前端面试问题的指南——预期情况,需

GreatFrontEnd 的列表中包含 100 多个常见测验式问题,每个问题都有详细的解决方案。

- [JavaScript 测验式问题](/questions/js/quiz)
- [HTML 测验式问题](/questions/html/quiz)
- [CSS 测验式问题](/questions/css/quiz)
- [JavaScript 测验式问题](/questions/javascript-interview-questions/quiz)
- [HTML 测验式问题](/questions/html-interview-questions/quiz)
- [CSS 测验式问题](/questions/css-interview-questions/quiz)
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ description: 准备前端/网络开发人员面试中的系统设计问题——

系统设计面试可以采用多种形式,涵盖整个开发堆栈。 GreatFrontEnd 专注于**前端系统设计**,即客户端应用程序和 UI 组件的系统设计和架构,而不是后端分布式系统。

我们编写了一个全面的[前端系统设计指南](/system-design),您绝对应该查看。
我们编写了一个全面的[前端系统设计指南](/front-end-system-design-playbook),您绝对应该查看。

## 遵循最佳实践设计您的系统

无论您被要求设计应用程序、游戏还是 UI 组件,面试中进行系统设计时,都需要特别注意一些事项。 结合我们的[用户界面问题备忘单](/front-end-interview-guidebook/user-interface-questions-cheatsheet)中的提示,提升您的前端面试游戏。
无论您被要求设计应用程序、游戏还是 UI 组件,面试中进行系统设计时,都需要特别注意一些事项。 结合我们的[用户界面问题备忘单](/front-end-interview-playbook/user-interface-questions-cheatsheet)中的提示,提升您的前端面试游戏。

## 练习问题

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ slider 可以通过传入一个普通的 JavaScript 对象的选项来进行定

### Vanilla JavaScript 风格

在初始化组件方面没有 vanilla JavaScript 风格,因为 vanilla JavaScript 不是一个标准或框架。 但如果你读够了 GreatFrontEnd 对我们的 vanilla JavaScript [UI 编码问题](/questions/vanilla)的解决方案,你会发现我们推荐的 API 与 jQuery 的类似,构造函数接收一个根元素和选项:
在初始化组件方面没有 vanilla JavaScript 风格,因为 vanilla JavaScript 不是一个标准或框架。 但如果你读够了 GreatFrontEnd 对我们的 vanilla JavaScript [UI 编码问题](/questions/javascript-interview-questions/ui-coding)的解决方案,你会发现我们推荐的 API 与 jQuery 的类似,构造函数接收一个根元素和选项:

```js
function slider(rootEl, options) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: 前端用户界面问题备忘单
description: 在前端/网络开发人员面试时,改善你必须建立的用户界面的顶级技巧 - 代码结构、管理状态、可访问性等。
---

以下是一些提示,可帮助您在前端/ Web 开发人员面试期间改善您必须构建/设计的用户界面。 这些提示可应用于[用户界面编码面试](/front-end-interview-guidebook/user-interface)[前端系统设计面试](/system-design/types-of-questions)
以下是一些提示,可帮助您在前端/ Web 开发人员面试期间改善您必须构建/设计的用户界面。 这些提示可应用于[用户界面编码面试](/front-end-interview-playbook/user-interface)[前端系统设计面试](/front-end-system-design-playbook/types-of-questions)

## 概览

Expand Down Expand Up @@ -147,7 +147,7 @@ Google 的[web.dev]有一个[免费的深入课程](https://web.dev/learn/access

## 安全

- **跨站点脚本(XSS)**: 在渲染内容时,请避免分配给[`Element.innerHTML`](https://developer.mozilla.org/en-US/docs/Web/API/Element/innerHTML)或 React 的`dangerouslySetInnerHTML`,因为它来自用户会导致跨站点脚本,应将其分配给[`Node.textContent`](https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent) 或使用实验性的[`Element.setHTML()`](https://developer.mozilla.org/en-US/docs/Web/API/Element/setHTML) 方法代替。 请参考[OWASP 的 XSS 预防备忘单](https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html)
- **跨站点脚本(XSS)**: 在渲染内容时,请避免分配给[`Element.innerHTML`](https://developer.mozilla.org/en-US/docs/Web/API/Element/innerHTML)或 React 的`dangerouslySetInnerHTML`,因为它来自用户会导致跨站点脚本,应将其分配给[`Node.textContent`](https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent) 或使用实验性的[`Element.setHTML()`](https://webdocs.dev/en-us/docs/web/api/element/sethtml) 方法代替。 请参考[OWASP 的 XSS 预防备忘单](https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html)
- **“URL 上下文”的输出编码**: 如果用户提供的输入可能用于 URL 查询参数,请使用`encodeURIComponent`来防止意外的值成为 URL 的一部分(例如额外的查询参数)。
- **跨站点请求伪造**: 请参见[OWASP 的 XSS 预防备忘单](https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html)

Expand Down
Loading

0 comments on commit b4f0800

Please sign in to comment.