面了整整两个月的前端岗,怎么还有开发不知道面试前刷什么呢?

最近听在做面试官的朋友吐槽,可能是因为11月很多人有点摆烂的心思,过来只有一些八股能答的还勉强,涉及场景和原理的都磕磕巴巴,我朋友平时挺有耐心的一个人,头次看到这么暴躁的样子。

其实早在金九银十面试的时候就整理过了今年面试大概率出现的面试题,只不过很多人貌似并没有当回事,甚至有人很自信的去裸面

当代前端职位需求,是入职即上手,而不是从0培养。

现在不是几年前,随便背js,刷刷框架就入职的年代了!

所以今天再总结一次,希望可以帮助到最近有面试的前端。

本文大体内容总结技术块为:

JavaScript、Vue、React、Node.js、Webpack、Typescript、性能优化、项目亮点难点、中大厂场景面试题、小程序、HTML、CSS、ES6、前端安全等刷题资源

以上:https://github.com/encode-studio-fe/natural_traffic/wiki/scan_material5

简历的写法以及注意事项

简历投不出去看这里

1.简历整体概述

2.工作经历的注意事项

3.项目要如何写才能达到面试官满意的程度

  3.1参考业务项目

  3.2如何定向准备项目

  3.3 优秀项目参考

4.优秀简历参考

  4.1 Vue

4.2 React

5.错误简历示范

3.项目要如何写才能达到面试官满意的程度

注意:以上项目的描述是最基础的,不可以直接抄到简历上。

建议项目按照:3~4个业务项目+2~3个技术项目穿插着写,(年限低的同学可以适当缩减)。

·业务项目:

a,业务项目是要体现在工作过程中遇到的实际问题的,建议围绕着前端性能优化、稳定性治理、用户体验和工程化落地这几个方向去写;

b,第一部分(1~2点):写关于Vue、React技术栈的使用,不要写使用使用Vue、React完成了项目开发迭代,要讲到使用这部分技术栈完成了xXx具体业务的开发;

c,第二部分(1~2点):使用了哪些生态库完成了项目的开发:这里可以写使用elementUI、antdesign等完成了xxx系统的xxx部分的开发迭代;使用xxx实现了xXx功能,”一定要落实到具体的技术点;

d,第三部分(2~3点):当前项目中的亮点,也就是别人没有自己有的内容,这块要往前端性能优化、稳定性治理、用户体验和工程化落地这几个方向靠,一定要具体;

e,第四部分(1点):如果有团队管理经验,要写出来带团队内容,比如带领xx人完成xx项目的前端开发,负责需求的分发和业务进展的同步;

f,第五部分(1~2点):可以结合技术项目,写出如何使用技术项目解决了业务项目的痛点,或者紧接着当前的业务项目,单独罗列出技术项目;

·技术项目:项目参考飞书链接:目前端实战课分享汇总密码:Hn(>bn9?

a,是为了体现出技术的深度的,要结合着业务背景说,不可以干巴巴的直接写做了xxx的技术项目,一定要解决特定的业务问题的;

b.  举例:课程实战中的前端编码规范工程化,项目名称要改成:XXX后台项目编码格式统一或者xXX项目前端代码规范治理,要结合着业务背景去讲。像项目中自带的简历描述,要结合着自己对业务的理解和当前技术项目的掌握去写,不要一股脑照抄。事实证明,照抄的项目大多数不会吸引面试官的;

图片

c,建议业务项目+技术项目+业务项目穿插写;或者业务项目中包含着部分技术项目的内容,要体现出技术项目是如何解决业务项目痛点的;

3.1参考业务项目

项目描述:XXXAPP+后台管理系统是XXXX,为客户提供保XXX服务。该项目原开发语言为Vue2,为了便于迭代维

护使用Vue3进行重构。

项目职责:

1.App端:运用vue2/3全家桶技术开发包括app首页、首页弹框、菜单列表、XXX等功能模块、支持了XXX等活动内容;

2.pc端:运用elementui框架实现XXX等功能:

3,小程序:运用uniapp技术实现XXX等功能;

4.后台管理系统:运用elementui框架开发首页轮播、中部banner、菜单等配置功能;

5,实现代码的组件化、配置化,开发过程中及时发现、处置风险,避免项目延期;

6.连续n年带领m人团队高质量完成前端开发工作;

7,制定前端编码格式化校验、代码一键修复、提交信息校验等代码工程规范;

3.2如何定向准备项目

在项目准备好后,很多人有类似的疑问:我能够知道项目如何写的,但是不知道面试如何表达。

其实这类问题也是有技巧的,建议针对每个项目都画流程图或者架构图,并且自行录音,每个项目限时5分钟。

可以参考以下架构图,面试的过程就是表达清楚架构图的过程,针对业务项目和技术项目都要绘制达到以下标准。

图片

5.错误简历示范

·项目换的太频繁,一眼就没有看下去的欲望,面试官会直接pass掉,可以把最老的几个合并一下,然后最新的不变。项目讲的时候得从技术的角度讲出来,而不是业务描述讲出来

图片

·项目写的太笼统,没有自己的核心亮点,通篇陈述基础概念

图片

直接照抄技术项目,没有结合业务描述,会导致项目很生硬

图片

中大厂面试场景题资源

  1. 怎么在前端页面中添加水印?

  2. 如何封装一个请求,让其多次调用的时候,实际只发起一个请求的时候,返回同一份结果

  3. web网页如何禁止别人移除水印

  4. react中怎么实现下拉菜单场景,要求点击区域外能关闭下拉组件

  5. 如何搭建一套灰度系统?

  6. React 如何实现vue 中 keep-alive 的功能?

  7. 如何监控前端页面的崩溃?

  8. 如何在前端团队快速落地代码规范

  9. 前端如何实现即时通讯?

  10. 用户访问页面白屏了,原因是啥,如何排查?

  11. 如何给自己团队的大型前端项目设计单元测试?

  12. 如何做一个前端项目工程的自动化部署,有哪些规范和流程设计?

  13. 你参与过哪些前端基建方面的建设?

  14. 假如让你负责一个商城系统的开发,现在需要统计商品的点击量,你有什么样设计与...

  15. 前端怎么做错误监控?

  16. token过期后,页面如何实现无感刷新?

  17. 如何解决页面请求接口大规模并发问题

  18. web应用中如何对静态资源加载失败的场景做降级处理?

  19. 什么是单点登录,以及如何进行实现?

  20. SPA首屏加载速度慢的怎么解决

  21. Redux 和Vuex的设计思想是什么?

  22. 站点一键换肤的实现方式有哪些?

  23. 实现table header 吸顶,有哪些实现方式?

  24. 怎么实现扫码登录?

  25. 如果用户说web应用感觉很反应慢或者卡顿,该如何排查?

  26. 如何设计一套统计全站请求耗时的工具

  27. 说说你对package.json中配置项的了解

  28. 你是怎么理解前端架构的?

  29. 怎么分析页面加载慢的原因?

  30. 如何解决node_modules中,同一个包安装了多个不同版本的问题?

  31. 为什么在技术选型中选择了webpack?

  32. 前端项目里,一般对请求request做哪些统一的封装?

  33. 如果想在小程序中嵌入markdown的文档,你有什么思路?

  34. 前端如何实现截图?

图片

JavaScript 面试题

  1. 相比于npm和yarn,pnpm的优势是什么?

  2. 如果使用Math.random() 计算中奖概率会有什么问题吗?

  3. 怎么使用js实现拖拽功能?

  4. 举例说明你对尾递归的理解,以及有哪些应用场景

  5. 说说你对 Iterator,Generator 和Async/Await 的理解

  6. 前端跨页面通信,你知道哪些方法?

  7. 说说你对模块化方案的理解,比如CommonJS、AMD、CMD、ESModule分别是什么?

  8. JavaScript脚本延迟加载的方式有哪些?

  9. 怎么理解ES6中Generator的?使用场景有哪些?

  10. 导致页面加载白屏时间长的原因有哪些,怎么进行优化?

  11. 微前端中的应用隔离是什么,一般是怎么实现的?

  12. JavaScript对象的底层数据结构是什么?

  13. 浏览器和Node中的事件循环有什么区别?

  14. 版本号排序

  15. 哪些原因会导致js里this指向混乱?

  16. 怎么实现大型文件上传?

  17. 说说你的ES6-ES12的了解

  18. Promise的 finally怎么实现的?

  19. 怎么使用js动态生成海报?

  20. 异步编程有哪些实现方式?

  21. AST语法树是什么?

  22. JS内存泄露的问题该如何排查?

  23. 实现mergePromise函数

  24. async、await实现原理

  25. 使用Promise实现:限制异步操作的并发个数,并尽可能快的完成全部

  26. 怎么实现一个扫描二维码登录PC网站的需求?

  27. 说说你对pnpm的了解

  28. js中的倒计时,怎么实现纠正偏差?

  29. 深拷贝浅拷贝有什么区别?怎么实现深拷贝?

  30. 说说sourcemap的原理?

  31. JavaScript中的sort方法是怎么实现的?

  32. 什么是PWA?

  33. 写出一个函数trans,将数字转换成汉语的输出,输入为不超过10000亿的数字。

  34. 你是怎么理解ES6中Proxy的?使用场景有哪些?

  35. Promise中的值穿透是什么?

  36. 你是怎么理解ES6中Decorator的?使用场景有哪些?

图片

React.js 面试题

fiber架构的工作原理?
React Reconciler 为何要采用 fiber 架构?
useState是如何实现的?
React Fiber是什么?
简单介绍下React中的 diff 算法
如何让 useEffect 支持 async/await?
React 中怎么实现状态自动保存(KeepAlive)?
React Fiber 是如何实现更新过程可控?
react中懒加载的实现原理是什么?
React有哪些性能优化的方法?
不同版本的 React 都做过哪些优化?
React19新特性
说说你对 React Hook的闭包陷阱的理解有哪些解决方案?
React 中,怎么给 children 添加额外的属性?
Fiber 为什么是 React 性能的一个飞跃?

图片

Vue.js 面试题

Vue 模板是如何编译的
vue3 相比较于 vue2,在编译阶段有哪些改进?
说说Vue 页面渲染流程
Vue 项目中,你做过哪些性能优化?
如果使用Vue3.0实现一个 Modal,你会怎么进行设计?
Vue3.0里为什么要用 Proxy API替代defineProperty APl ?
Vue 有了数据响应式,为何还要 diff ?
说说 vue3 中的响应式设计原理
说说 Vue 中 css scoped 的原理
vue3 的响应式库是独立出来的,如果单独使用是什么样的效果?
手写 vue 的双向绑定
什么是虚拟DOM?如何实现一个虚拟DOM?说说你的思路
说下Vite的原理

图片

Node.js 面试题

浏览器和 Node 中的事件循环有什么区别?
如何实现jwt鉴权机制?说说你的思路
怎么进行 Node 服务的内存优化?
为什么Node在使用es module时必须加上文件扩展名?
说说Node中的EventEmitter?如何实现一—个EventEmitter?
说说Node文件查找的优先级以及Require方法的文件查找策略?
两个 Node.js 进程如何通信?
pm2守护进程的原理是什么?
单线程的 nodejs 是如何充分利用计算机CPU 资源的呢?
body-parser 这个中间件是做什么用的?
说说对中间件概念的理解,如何封装 node中间件?

图片

Typescript 面试题

什么是TypeScript Declare关键字?
Typescript 中的 getter/setter 是什么?你如何使用它们?
unknown 是什么类型?
never 是什么类型,详细讲一下
如何在TypeScript中实现继承?
说-说Typescript中的类及其特性。
请实现下面的 sleep 方法
Typescript中的方法重写是什么?
typescript 中的 is 关键字有什么用?
什么是Typescript映射文件?
Typescript中的类型有哪些?
Typescript中interface 和 type 的差别是什么?

图片

编程题 面试题

实现深拷贝
请手写“堆排序”
虚拟 dom 原理是什么,手写一个简单的虚拟 dom 实现
请在不使用 setTimeout 的前提下,实现setinterval
实现JSONP
实现一个类,其实例可以链式调用,它有一个sleep 方法,可以sleep一段时间后再...
编写一个vue组件,组件内部使用插槽接收部内容,v-model双向绑定,实现折叠...
版本号排序
Promise 的 finally 怎么实现的?
实现 Promise
字符串解析问题

图片

工程化 面试题

说说你对前端工程化的理解
webpack loader 和 plugin 实现原理
为什么 webpack 可以通过文件打包,让浏览器可以支持 CommonJs 规范?
webpack tree-shaking 在什么情况下会失效?
微前端中的路由加载流程是怎么样的?
说下Vite的原理
说说你对 source Map 的了解
说说webpack的构建流程?
ES6 代码转成 ES5 代码的实现思路是什么?
webpack的module、bundle、chunk分别指的是什么?
webpack treeshaking机制的原理是什么?
为什么 SPA 应用都会提供一个 hash 路由好处是什么?

图片

项目细节难点

60.你做的项目中都使用过哪些中间件呢?

61.你在开发过程中有什么因难点(或者使用了什么技术)

62.会写接口吗?项目你负责什么?

63.你之前做过小程序吗?主要包括哪些功能?

64.这个小程序的具体设计逻辑是怎么样的?有几个人开发?周期多长?在你离职时,这个小程序项目是否还在开发?或者你离职时,你们公司在开发什么?

65.你说你负责支付环节,那么微信支付的流程是否可以简单说一下?

66.那好,既然流程说完了,那么,我问你,你这个项目涉及到了mb,它在用户点击支付之后的逻辑关系和表关系你是怎么理解的?有多少张表?表关系?

67.你觉得这个小程序项目的细节之处有哪些?

68.如何自定义tabbar?

69.你刚才提到了异步,在这个项目中你是否被异步坑过,最后又是如何解决的?

70.你能描述一下渐进增强和优雅降级之间的不同吗?

71.为什么利用多个域名来存储网站资源会更有效?

72.一个页面上有大量的图片(大型电商网站),加载很慢,你有哪些方法优化这些图片的加载,给用户更好的体验。

73.一个页面从输入URL到页面加载显示完成,这个过程中都发生了什么?

74.前端如何进行登录身份的判断

75.电商项目跟其它项目有什么不同?

76.实践题

77.项目开发中有遇到什么挑战没?

78.项目研发流程中作为前端开发一般扮演的啥角色?

79.现在有的项目中觉得哪些项目可以继续优化,为啥没有优化?

80.平时写项目总结么,一般总结哪些东西?

81.请简单绘制登录场景的业务流程图,如不熟悉登录业务,也可以选择自己之前项目的业务简单说明。

82.项目上线后,会将index.html给后端,在地址栏上输入,当在地址后面缀上/layout回车后,页面会报404,是否遇见过这个问题,又该如何去解决?

83.项目中由谁定接口,公司文档如何管理,由谁负责上传代码,怎么上传代码的,项目发布都是怎么做的?

84.请你说说高级前端工程师和初级以及中级有什么区别?

85.用过echars与highchars么,你遇到哪些问题及如何解决的

86.项目开发中是用什么工具来管理代码的:说一下你是用过的工具用法(git、svn)

87.讲一下最近的这个项目中都负责什么

88.怎么判断是开发环境生产环境

89.Vue如何在用戶没登陆的时候重定向登录界面?

90.Vue项目常见优化点

91.异步解决方案有哪些?

92.移动端点击事件300ms延迟如何去掉?原因是什么?

93.如何实现函数的柯里化?比如add(1)(2)(3)

94.什么是反柯里化

95.如何避免回调地狱?

96.开发过程中遇到内存泄漏的问题都有哪些?

97.浏览器有哪些兼容问题,你封装过什么插件

98.假如A页面我定义了一个定时器,然后跳到B页面如果让A页面的定时器暂停

99.深拷贝是什么?项目哪里是用到了深拷贝?

100.swiper插件从后台获取数据没问题,css代码啥的也没问题,但是图片不动,应该怎么解决?

图片

大厂前端面试手撕题

1实现防抖函数(debounce)

2实现节流函数(throttle)

3 实现instanceOf

4实现new的过程

5 实现call方法

6实现apply方法

7实现bind方法

8实现深拷贝

9实现类的继承

10实现Promise相关方法

11实现发布订阅模式

12 实现观察者模式

13 实现单例模式

14实现Ajax

15 实现JSONP方法

16 实现async/await

17 基于Generator函数实现async/await

18 实现ES6的const

19实现一个迭代器生成函数

20 实现Es6的extends

21 实现Object.create

22 实现Object.freeze

23 实现object.is

24实现一个compose函数

25 setTimeout与setInterval实现

26实现Node的require方法

27 实现LRU淘汰算法

28 框架相关

29数组相关

图片

以上:https://github.com/encode-studio-fe/natural_traffic/wiki/scan_material5

部分内容就先总结到这里,完整内容写出来太多了,答案也多到放不下,所以大家觉得不错,对自己有帮助可以随时联系我获取完整

好了,如果觉得对你们有帮助的话,麻烦帮我点点支持,最后预祝大家,11月求职顺利!

<think>好的,我现在需要处理用户关于提供完整代码示例的请求。首先,用户希望得到从头到尾的完整代码,但根据引用内容,特别是引用[2]提到由于篇幅和复杂度限制,无法提供完整的多语言实现。所以我要先确认用户的具体需求,但用户可能没有明确说明项目类型和技术栈。 接下来,我需要考虑如何回应用户。用户可能是一个刚入门的开发者,想要一个具体的例子来学习如何构建某个功能,比如优惠券管理页,如引用[3]提到的。或者他们可能对数据库索引感兴趣,如引用[4]中的示例。 我需要引导用户明确他们的需求,比如询问他们想用哪种编程语言、框架,或者具体什么功能。同时,我需要遵守系统指令,使用正确的中文回答,并生成相关问题。此外,需要引用合适的站内引用,比如引用[2]说明无法提供完整代码的原因,并建议分步骤实现。 另外,用户可能在之的对话中提到了某些内容,比如快速排序的例子,但当问题转向了请求完整代码。需要确保回答结构清晰,分步骤帮助用户解决问题,同时保持真实可靠。 最后,生成相关问题时要围绕用户的需求,比如代码结构、技术选型、模块实现等,帮助用户进一步明确他们的请求,以便提供更有针对性的帮助。</think>由于技术教程和代码实现的复杂度差异较大,完整的代码示例需要根据具体需求进行针对性设计。建议您明确以下关键信息后,我将为您提供结构化实现方案: 1. **技术栈选择** - 前端框架:Vue/React/Angular(示例见引用[3]的Vue实现) - 后端语言:Node.js/Python/Java - 数据库:MySQL/MongoDB/PostgreSQL(索引设计参考引用[4]) 2. **功能模块** ```markdown [示例模块划分] - 用户认证模块(JWT实现) - 数据存储模块(含索引优化) - 业务逻辑模块(如优惠券管理) - API接口模块(RESTful设计) ``` 3. **代码结构示例**(以Node.js+MongoDB为例) ```javascript // 用户模型(引用[2]的模块化思想) const mongoose = require('mongoose'); const userSchema = new mongoose.Schema({ email: { type: String, unique: true }, // 唯一索引 coupons: [{ code: String, expireDate: Date }] }); module.exports = mongoose.model('User', userSchema); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值