news 2026/4/15 3:31:36

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

作者头像

张小明

前端开发工程师

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/4/13 14:41:01

youlai-mall微服务电商系统:快速上手指南与完整配置解析

youlai-mall微服务电商系统:快速上手指南与完整配置解析 【免费下载链接】youlai-mall youlaitech/youlai-mall: youlai-mall 是优莱科技开发的一个开源商城系统,基于Java Spring Boot技术栈构建,集成了多种电商功能模块,如商品管…

作者头像 李华
网站建设 2026/4/13 20:43:20

mac安装python_笔记

1. 需求mac自带的python3版本为3.9.6,期望将其升级到3.13版本。mac版本:Apple M4 。2. 升级python版本这里使用Homebrew 来升级python版本。2.1 安装或更新 Homebrew如果已安装了Homebrew,跳过该步骤。/bin/bash -c "$(curl -fsSL https…

作者头像 李华
网站建设 2026/4/10 17:54:45

【收藏必看】AI Agent优化全攻略:从零构建高效稳定智能体

随着人工智能技术的飞速发展,AI Agent 在处理复杂任务方面的能力日益增强。然而,要充分发挥其潜力,优化是不可或缺的一环。本文将综合分析多篇前沿文章,提炼出 AI Agent 中行之有效的优化手段,涵盖Prompt 工程、上下文…

作者头像 李华
网站建设 2026/4/12 18:27:29

基于Spring Boot的校园二手物品信息发布平台

基于Spring Boot的校园二手物品信息发布平台是一个专为校园用户设计的在线交易平台,旨在方便学生们发布、浏览和交易二手物品。以下是对该平台的详细介绍: 一、平台背景与目的 在校园环境中,学生们常常会有闲置物品需要处理,同时也…

作者头像 李华
网站建设 2026/4/12 15:03:07

阿里P8架构师前端面试文档!确实牛!

这不是吹,而是一份被多位资深面试官认证过的前端硬核知识点体系。我将其系统拆解为以下四个核心模块,掌握它们不仅是为了应对面试,更是构建顶级前端工程师技术视野的必然路径: 一、JavaScript & TypeScript 的深度追问 从 …

作者头像 李华