news 2026/7/7 17:41:42

今天面试了个半吊子前端人,无语了…

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
今天面试了个半吊子前端人,无语了…
“今天面试了个自称‘两年经验’的前端候选人,结果问到 JavaScript 基础时,他一脸茫然:‘ 闭包闭包是啥?是用来封装变量的吗?’

那一刻我真的……沉默了。

想起上个月团队来了个新人,为了实现一个简单的表单验证,手动写了三十行 if-else。

我实在看不下去,随手写了个正则 + 数组方法数组方法——五行搞定。

他还站在旁边愣住:‘这也能这么写?’

不是苛责谁基础弱,而是真的心疼那些每天加班到八九点的前端人。

明明一个数组方法就能解决的事,却在用最笨的方式硬扛。

我做过五年前端,现在带团队也一直在教新人,今天就把我们日常高频使用的 6 类 JavaScript 核心知识,用最直白、最落地的方式讲清楚。

不讲理论,不堆术语,全是每天写组件、调接口、做优化时真实用得到的技能。

照着理解一遍,日常开发至少省下 3 小时。

🔹 一、数组操作|数据处理基本功

map():遍历并返回新数组,比如接口数据转渲染列表

filter():筛选符合条件的数据,比如从列表里找出“已完成”的订单

reduce():累加或汇总数据,比如计算购物车总价

→ 告别 for 循环满天飞,用声明式代码表达意图

🔹 二、异步处理异步处理|现代前端生存技能

Promise:处理异步任务,避免回调地狱

async/await:用同步写法写异步逻辑,让代码更清晰

fetch() 或 axios:发请求、接数据、处理错误和 loading 状态

→ 异步代码写得不乱,复杂业务才能 hold 住

🔹 三、DOM 与事件DOM 与事件|交互实现核心

querySelector() / addEventListener():选中元素并绑定交互

事件委托:利用事件冒泡,用单个监听器管理多个子元素

classList:动态增删类名,实现样式切换或动画触发

→ 精准操作界面,用户体验更流畅

🔹 四、对象与引用对象与引用|避坑必备知识点

浅拷贝 vs 深拷贝:Object.assign()、扩展运算符、JSON 序列化

Object.keys() / Object.values():遍历对象属性

可选链 ?.:安全访问深层属性,避免 Cannot read property of undefined

→ 正确处理数据引用,减少隐蔽 bug

🔹 五、模块化与工具模块化与工具|工程化基础

import / export:组织代码结构,实现功能解耦

常用工具函数:Lodash 中的 get、throttle,或自己封装工具类

环境判断:区分开发、生产环境,配置不同接口或日志输出

→ 代码结构清晰,协作和重构更轻松

以前我也觉得‘能跑就行’,直到看见同事用几行函数式代码完成我写几十行的逻辑。

那一刻才明白:真正的专业,是懂得用代码表达思想,而不只是实现功能。

针对前端人在面试中遇到的问题,我整理了以下:

总览:

因为篇幅原因,下面就只能截图部分内容展示了,有想要的小伙伴: https://github.com/encode-studio-fe/natural_traffic/wiki/scan_material1

一、Vue
面试题

  1. 说说vue动态权限绑定渲染列表〔权限列表渲染)
  2. Vue用的哪种设计模式
  3. 说说vue操作真实dom性能瓶颈
  4. Vue中如何获取dom、操作dom、更新dom
  5. Vue的双向数据绑定原理是什么
  6. mvvm框架是什么
  7. 谈谈Vue的token存储
  8. 知道nextTick的作用吗,谈谈对它的理解,是什么,怎么用
  9. nextTick和setTimeout区别
  10. vue中为什么用虚拟dom而不操作真实dom
  11. Vue如何进行组件传值
  12. 说说vue里面的父子通信
  13. 谈谈如何实现vue组件通信和传值方式(两个问题为同一个答案问法不一样)
  14. 说说vue中Key值的作用
  15. 说说vue中的虚拟dom和diff算法
  16. vue3.0有了解过吗,你觉得vue3.0好吗,好在哪
  17. VUE组件如何与iframe通信问题

二、
React面试题

  1. 说说React中onClick绑定后的工作原理
  2. 说说react里面bind与箭头函数
  3. 说说react中的性能优化
  4. 高阶组件和高阶函数是什么
  5. setState和repalceState的区别
  6. redux中核心组件有哪些,reducer的作用
  7. 什么是受控组件
  8. hooks+context和redux你是怎么选择的,都在什么场景下使用
  9. useffect模拟生命周期
  10. setsate更新之后和usestate的区别
  11. react父组件props变化的时候子组件怎么监听
  12. usememo在react中怎么使用
  13. React Hooks各种函数介绍
  14. React Component和Purecomponent区别
  15. hooks相对于class的优化
  16. hooks父组件怎么调用子组件的方法
  17. 讲一下react中的通信
  18. react通过什么方法修改参数
  19. 说你对react native的了解
  20. redux的实现原理

三、小程序
面试题

  1. 简单谈谈微信小程序
  2. 小程序的原生组件有哪些
  3. 小程序的安卓版和ios版是怎么开发出来
  4. uni-app弹窗被覆盖怎么解决
  5. 小程序生命周期
  6. 小程序路由跳转
  7. 小程序的兼容问题有哪些
  8. 小程序框架都学握哪一些,uniapp都会哪一些,平时开发遇到的困难
  9. 小程序怎么获取手机号
  10. 小程序的登录流程
  11. 小程序如果版本更新了怎么通知用户
  12. 小程序嵌入H5页面怎么做
  13. 小程序的生命周期函数有哪些?分别有什么作用?

四、
Webpack面试题

  1. webpack了解吗,讲一讲原理,怎么压缩代码
  2. webpack怎么配置
  3. webpack怎么打包
  4. vue打包内存过大,怎么使用webpack来进行优化
  5. webpack打包用过什么插件
  6. 说说gulp和webpack的区别

五、TypeScript面试题

  1. 了解过TS吗?
  2. 使用ts写一个对象属性约束
  3. 说一下typescript中的泛型
  4. 如何在TS中对函数的返回值进行类型约束
  5. ts和js相比有什么区别
  6. RX了解吗?

六、Node.JS面试题

  1. 说说对nodejs的了解
  2. nodejs如何写接口,返回参数如何处理,有多少种方法
  3. websocket和http的区别
  4. 常见的 HTTP Method有哪些?GET/POST区别?
  5. 说一说Tcp三次握手,四次挥手
  6. 阐述一下http1.O与http2.0的区别,及http和https区别
  7. node.js如何导出页面数据形成报表
  8. 协商缓存和强缓存
  9. 强缓存
  10. Expires
  11. Cache-Control
  12. 协商缓存
  13. Etag和If-None-Match
  14. Last-Modify/lf-Modify-Since
  15. 为什么要有Etag
  16. http常用状态码有哪一些,说—说他们的作用
  17. 网络攻击方案有哪些,自己有写过什么安全性方面的东西吗?
  18. 静态资源部署到哪?
  19. 说说你对nodejs的了解

七、GIT
面试题

  1. git经常用哪些指令
  2. git出现代码冲突怎么解决
  3. 你们团队是怎么管理git分支的
  4. 如何实现Git的免密操作

八、其它面试题

  1. loadsh了解过吗?
  2. 是否用过混合APP开发
  3. 项目中的组件是如何使用的
  4. hash和histoty的原理
  5. window.location.href和history.push的区别
  6. 商城项目中有写到调用微信,支付宝支付,简单讲述—下
  7. 这个支付与后台对接的过程,微信支付的原理
  8. 混合开发知道吗?你是怎么理解混合开发的,在项目中用到过混合开发吗?
  9. 平时工作中有是香有接触linux系统?说说常用到linux命令?
  10. echarts是什么,怎么用
  11. Hash和history的区别
  12. 谈谈宏任务与微任务的理解,举一个宏任务与微任务的api
  13. 对Event loop的了解?

贴一下GitHub: http:// https://github.com/encode-studio-fe/natural_traffic/wiki/scan_material1
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/7 17:48:06

Nano banana Pro版在细节上的改进

在人工智能的演进史中,每一个细微的量变往往都预示着一场质变的到来。如果说早期的图像模型是在进行“模糊的像素模拟”,那么Nano Banana Pro的问世,则标志着 AI 正式接管了现实世界的“物理细枝末节”。 这款被誉为视觉生成领域“顶级艺术总…

作者头像 李华
网站建设 2026/7/7 20:16:43

物理信息神经网络(PINNs)完整教程

物理信息神经网络(PINNs)完整教程 【免费下载链接】PINNs Physics Informed Deep Learning: Data-driven Solutions and Discovery of Nonlinear Partial Differential Equations 项目地址: https://gitcode.com/gh_mirrors/pi/PINNs 物理信息神经…

作者头像 李华
网站建设 2026/7/7 11:34:12

安卓虚拟相机终极指南:3分钟学会手机摄像头魔法

安卓虚拟相机终极指南:3分钟学会手机摄像头魔法 【免费下载链接】com.example.vcam 虚拟摄像头 virtual camera 项目地址: https://gitcode.com/gh_mirrors/co/com.example.vcam 还在为视频会议必须露脸而困扰吗?或者想在直播中使用预先准备好的精…

作者头像 李华
网站建设 2026/7/6 5:44:42

Codeforces竞赛效率工具:cf-tool完整使用指南

在算法竞赛的世界里,每一秒都至关重要。你是否曾在Codeforces比赛中因为频繁切换浏览器和编辑器而错失良机?是否因为手动测试样例、提交代码而浪费宝贵时间?今天,我们将为你介绍一款专为Codeforces设计的命令行工具——cf-tool&am…

作者头像 李华
网站建设 2026/7/8 12:11:00

AppFlowy如何实现多设备无缝同步?揭秘分布式协作技术架构

AppFlowy如何实现多设备无缝同步?揭秘分布式协作技术架构 【免费下载链接】AppFlowy AppFlowy 是 Notion 的一个开源替代品。您完全掌控您的数据和定制化需求。该产品基于Flutter和Rust构建而成。 项目地址: https://gitcode.com/GitHub_Trending/ap/AppFlowy …

作者头像 李华