今天面试了一个半吊子前端人,瞬间崩溃

结束面试,坐下来缓了好久才平复心情

这位候选人,简历写得挺漂亮:“精通Vue/React”“熟练搭建前端架构”“独立负责项目模块”……看着像是能立马上手干活的主力。可我随便深挖几个问题,整个人就开始支支吾吾,技术漏洞全暴露了。

不是想嘲笑谁,而是觉得有必要把这场对话还原一下——给还在准备入行、实习、找工作的前端新人提个醒,也分享点真实职场里技术考察的“听音辨人”逻辑。

📌 Q1:你怎么判断一个前端项目的代码质量?

她说: “代码能跑起来、功能正常就行。”

专业视角应该是: 功能正常只是底线。要看代码结构是否清晰(模块化、组件化),是否遵循团队的编码规范(ESLint/Prettier),是否有可维护性(注释、文档),是否考虑了性能(渲染优化、包体积)和安全性(XSS防护)。更重要的是,是否有单元测试、可调试性如何。否则,项目初期能跑,后期必然变成“屎山”。

📌 Q2:如果页面在生产环境突然白屏,你怎么排查?

她答: “先刷新试试,不行就找后端。”

现实中,我们希望: 先打开浏览器控制台看报错信息,确认是资源加载失败、JS执行错误还是接口异常;接着用Sentry/监控平台定位错误堆栈和用户操作路径;如果是接口问题,查看网络请求状态和日志;如果是前端代码问题,结合SourceMap定位源码位置。最后,带着“错误现象+可能原因+临时解决方案”同步团队。主动定位问题,比甩锅更重要。

📌 Q3:前端工程化你常用哪些工具或流程?

她说: “就是用Webpack打包一下。”

可我们在意的是: 你有没有用Babel编译兼容、用ESLint规范代码、用Husky做Git提交前检查?会不会用Tree Shaking减少打包体积?是否配置过代码分割懒加载?是否用CI/CD自动化部署?更关键的是——你能否说清楚每一步解决什么问题?

📌 Q4:...................

话不多说,给大家展示一些干货↓↓↓

总览:地址

因为篇幅原因,下面就只能截图部分内容展示了,有想要的小伙伴可以: “点此即可”无偿领取完整文档

一、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的了解?

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

Read more

Flutter for OpenHarmony: Flutter 三方库 image_size_getter 零加载极速获取图片尺寸(鸿蒙 UI 布局优化必备)

Flutter for OpenHarmony: Flutter 三方库 image_size_getter 零加载极速获取图片尺寸(鸿蒙 UI 布局优化必备)

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net 前言 在进行 OpenHarmony 应用布局时,我们经常遇到这样的挑战:为了防止 UI 抖动,需要在图片完全加载前预留一段占位空间。如果直接使用 Image.network 或 Image.file,直到图片解码完成前,我们都无法获知其宽高比。如果此时一次性加载大量高清大图,仅为了获取尺寸而消耗内存和流量,显然是不理智的。 image_size_getter 是一个极其聪明的库。它通过读取图片头部的少量二进制字节(通常只有几百字节),就能瞬间识别出 JPG、PNG、GIF、WebP 甚至 PSD 的原始尺寸。 一、核心原理图解 该库通过解析各种图片格式的 Header 结构实现免解码探测。 本地/网络图片文件 读取前 1KB 字节流 校验魔数

By Ne0inhk
Flutter for OpenHarmony: Flutter 三方库 hashlib 为鸿蒙应用提供军用级加密哈希算法支持(安全数据完整性卫士)

Flutter for OpenHarmony: Flutter 三方库 hashlib 为鸿蒙应用提供军用级加密哈希算法支持(安全数据完整性卫士)

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net 前言 在 OpenHarmony 应用开发中,涉及到本地存储加密、用户密码脱敏、大文件完整性校验或区块链应用时,一套算法完备、执行高效的哈希(Hash)库是必不可少的。虽然 Dart 原生也提供了一些简单的加密方法,但在算法多样性(如 Argon2、SHA-3, Blake2b 等高级算法)和性能表现方面,往往无法满足高安全等级项目的需求。 hashlib 正是专门为高性能数据加解密与完整性校验打造的库。它纯代码实现且经过了极致的循环优化,是鸿蒙平台上保护敏感数据的数字堡垒。 一、核心加密算法矩阵 hashlib 支持极其广泛且先进的加密标准。 原始明文数据 hashlib 算法引擎 传统算法 (MD5 / SHA-256) 现代算法 (SHA-3 / Keccak) 极致速度 (Blake2b / Blake2s) 密钥派生 (Argon2 / Scrypt)

By Ne0inhk
鸿蒙金融理财全栈项目——上线与运维、用户反馈、持续迭代

鸿蒙金融理财全栈项目——上线与运维、用户反馈、持续迭代

《鸿蒙APP开发从入门到精通》第22篇:鸿蒙金融理财全栈项目——上线与运维、用户反馈、持续迭代 🚀📱🔧 内容承接与核心价值 这是《鸿蒙APP开发从入门到精通》的第22篇——上线与运维、用户反馈、持续迭代篇,100%承接第21篇的合规审计优化、风险控制优化、产品创新优化架构,并基于金融场景的上线与运维、用户反馈、持续迭代要求,设计并实现鸿蒙金融理财全栈项目的上线与运维、用户反馈、持续迭代功能。 学习目标: * 掌握鸿蒙金融理财项目的上线与运维设计与实现; * 实现应用上线、应用运维、应用监控; * 理解用户反馈在金融场景的核心设计与实现; * 实现用户反馈收集、用户反馈分析、用户反馈处理; * 掌握持续迭代在金融场景的设计与实现; * 实现持续集成、持续部署、持续交付; * 优化金融理财项目的用户体验(上线与运维、用户反馈、持续迭代)。 学习重点: * 鸿蒙金融理财项目的上线与运维设计原则; * 用户反馈在金融场景的应用; * 持续迭代在金融场景的设计要点。 一、 上线与运维基础 🎯 1.1 上线与运维定义 上线与运维是指对金融理财项目的

By Ne0inhk

Flutter for OpenHarmony: Flutter 三方库 plugin_platform_interface 规范鸿蒙插件跨端接口契约(插件开发标准指南)

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net 前言 在进行 OpenHarmony 插件开发时,一个核心挑战是如何确保你的插件在 Android、iOS 和鸿蒙等多端表现一致。为了保证扩展的可测试性和规范性,Flutter 团队提出了一套“基于接口”的插件架构规范。 plugin_platform_interface 正是实现这一架构的官方基石。它通过强行校验开发者是否继承了特定的基类,确保任何三方开发者(或你自己在进行鸿蒙适配时)在模拟或重写平台库时,都能遵循严格的协议契约,防止因漏写方法而导致的运行时崩溃。 一、标准分层插件架构 该库致力于定义中间的“平台接口层(Platform Interface)”。 注册实现 注册实现 通过校验器 Flutter App 插件 API (面向用户) Platform Interface (定义契约) 鸿蒙特定实现 (ArkTS 交互) Android 特定实现

By Ne0inhk