跳到主要内容

面试

面试项目介绍

  • 项目介绍
  • 主要技术
  • 技术难点
  • 技术成果
  • 业务成果

初面:

技术广度:

技术点遍历,考察对前端相关技术视野,涉猎程度,挖掘专精技术方向

技术深度:

考察在某个技术领域/方向的下探深度代码

解决问题的能力:

考察临场解决问题的能力

常见的问题:

实现布局的方式有那些? 流式布局 浮动布局 定位布局 flex 布局 grid 布局 - https://juejin.cn/post/6994685954044723207#heading-8 - https://zhuanlan.zhihu.com/p/88433372

如何防范 CSRF 攻击? 加 token 验证码 内容过滤加密 web worker/service worker 可用于哪些场景? 光线追踪 加密 数据预获取 Progressive Web App 拼写检查 - https://cloud.tencent.com/developer/article/1587126 - https://juejin.cn/post/6844903616176717832 - https://segmentfault.com/a/1190000017749922 - https://ruanyifeng.com/blog/2018/07/web-worker.html SPA 做 SEO 有哪些方式? SSR Prerender https://developers.google.com/search/docs/advanced/javascript/javascript-seo-basics

Git Rebase 和 Git Merge 之间的区别

基础:

Css 新特性、 等比缩放 aspect-ratio 滚动捕捉 scroll-snap-type 沟槽 gap 逻辑属性 新的媒体查询 prefers-reduced-motion prefers-contrast prefers-reduced-transparency prefers-color-scheme inverted-colors screen-fold-posture 比较函数 min max clamp 可见内容 内在尺寸 display 多值、contents 属性 css 规则 嵌套 @nest @apply 注册自定义属性 @property 容器查询 @container @scope 和 @layer

TS 高级特性、 交叉类型、 never 类型 keyof in 联合类型 infer Parameters InstanceType ConstructorParameters ThisParameterType OmitThisParameter

EventLoop
React:
受控/受 setStats 或者 useState 等控制,有状态
非受控、通过操作 dom 获取数据
性能优化、
React.memo
shouldComponentUpdate 生命周期事件,根据 nextState 和 nextProps 状态判断是否要重新渲染
懒加载组件
React Gragments
不使用内联函数定义,避免每次render 创建新的函数实例
避免 componentWilMount 中异步请求
数据流方案/原理
Vue:
computed/watch、
双向绑定2/3原理、
Object.defineProperty
Proxy
Composition 优点
小程序:静态转译、运行时渲染、底层架构
潮流:Vite、Sevlte、Flutter

前端 8 大方向

互动技术-多媒体 跨端技术 可视化技术

中后台 Nodejs 智能化技术 工程化

(问到不会的技术问题时可以坦诚自己平时用的不太多,但平时用什么比较多,引导面试官往你会的方向去问,扬长避短)

考察过往工作经验,复盘重点项目工作成果:考察参与项目/产品的贡献度,在项目中扮演的决赛 解决问题的能力:项目中遇到的问题,如何解决问题的(讲出过程),过程中的思考,重新复盘的话 会如何做的更好业务 sense:负责业务的参与和熟悉程度。

传统的 AARRR 模型(用户获取、提升活跃度、提高留存率、获取收入、自传播)不同。国内的电商公司对用户增长更侧重以下三个层面:用户拉新、用户转化、用户留存。

最后准备 3 个问题: 可以问业务形态方向、技术氛围之类的

展现自己积极正向的方面即可,表达有逻辑性,体现对技术的追求,有要性,抗压能力强

排期

🕵️ 算法(三到六个月)

  • 熟悉常用数据结构,算法的使用场景和最佳实践
  • 独立完成大部分中等难度题目
  • Leetcode 每周竞赛 50% 能做出三题
  • 熟悉常见的 OA 平台的 IDE,如 Hackerrank, CodeSignal

🧩 基础知识(一个月)

  • 了解编程语言特性
  • 了解简历上的技术栈
  • 了解设计模式,数据库,网络协议等基础
  • 完成 60% 以上自主练习

🌉 系统设计(一到三个月)

  • 熟悉常见的系统架构模式
  • 熟悉系统设计组件的使用场景
  • 阅读参考资料
  • 在三次模拟面试中获得正面的评价

🎨 项目介绍(一周)

  • 根据示例,针对简历上面的三个项目写下 STAR 文档
  • 简历上的项目阐述清楚学习到的东西,最有挑战性的地方
  • 简历上的项目阐述清楚不同方案的优缺点

♟️ 非技术问题(一周)

  • 根据示例,写下对于参考资料 2 中十个问题的回答
  • 将每个问题贴上对应的 Amazon principles 标签(可多选)

🥇 求职阶段

  • 修改简历
  • 整理准备投递的岗位
  • 投递简历,找内推

参考