当前位置: 首页 > news >正文

前端面试

题目

JSTS区别

  1. 类型

JS:动态类型,变量类型在运行时确定,无需显示声明类型。

TS:静态类型,支持类型注解和编译时类型检查,可提前发现错误。

  1. 编译与运行

JS:直接由浏览器或者node.js,无需编译

TS:需要通过编译器(tsc)转换为JS代码后才能运行。

  1. 语法扩展

JS:仅支持基础的ECMAScript语法

TS:JS的超集合,新增了接口,枚举,泛型等特性,支持面向对象编程。

  1. 工具支持

JS:工具支持较弱类型,类型相关错误需要运行时才能发现。

TS:提供更强大的IDE智能提示,代码补全和重构功能。

vue2vue3区别

  1. 响应式系统

Vue2:数据劫持Object.defineProperty实现响应式,需递归遍历对象

Vue3:Proxy代理对象,动态属性监听且性能更优化

 

ES6 let/const var 的区别,以及箭头函数的特点

let/const vs var:

作用域: let/const 是块级作用域,var 是函数作用域

变量提升: var会提升变量,let/const不会(有暂时性死区)

重复声明: var允许重复声明,let/const不允许

 

const声明必须初始化且不能重新赋值(对象属性可修改)

箭头函数:

语法更简洁

没有自己的this,继承外层this

不能作为构造函数使用(new)

没有arguments对象,可用rest参数替代

 

HTTP状态码分类及常见示例

4xx(客户端错误)‌。

表示请求包含错误或无法完成:

 

400 Bad Request:请求语法错误。‌‌

403 Forbidden:服务器拒绝访问。‌‌

404 Not Found:资源不存在。

5xx(服务器错误)‌。

表示服务器处理请求时出错:

 

500 Internal Server Error:服务器内部错误。‌‌

503 Service Unavailable:服务暂时不可用(如过载维护)。

 

uniapp页面级生命周期

 

onLoad‌:页面首次加载时触发,接收上一页传递的参数。‌‌

onShow‌:页面每次显示时触发(包括返回操作)。‌‌

onReady‌:页面初次渲染完成,可操作DOM节点。‌‌

onHide/onUnload‌:页面隐藏或卸载时触发。‌‌

onPullDownRefresh/onReachBottom‌:分别用于下拉刷新和上拉加载更多

 

Vue混淆模式下,同函数可以调用吗?顺序是?

可以,混淆先执行后执行当前,优先执行mixin后执行当前页面,data会进行合并以当前为最新,如果没有会合并当前data

 

httphttps的区别

‌HTTP‌(超文本传输协议):明文传输数据,无加密,易被窃取或篡改‌

‌HTTPS‌(安全超文本传输协议):在 HTTP 基础上加入 ‌SSL/TLS 加密‌,确保数据安全传输

 

Vue3 监听 深度监听 立马执行

Deep immediate

mvc和mvvm区别

Model‌:管理数据和业务逻辑

View‌:负责界面展示,被动接收Model数据

Controller‌:处理用户输入,协调Model和View的交互

MVVM

Model‌:与MVC相同,处理数据和业务规则

View‌:仅关注UI展示,通过数据绑定自动更新

ViewModel‌:替代Controller,负责将Model数据转换为View可用的形式,并处理用户交互逻辑

 

js 检查数组有哪些

isArray

浏览器默认字体大小是16px,1rem=16px

<meta name="viewport" content="width=device-width, initial-scale=1.0">

移动端开发遇到的问题有哪些: 界面错乱,功能失效,奔溃闪退

解决方案: 采用响应式设计(Flexbox/Grid布局)‌,进行多设备和多版本测试

性能优化: 页面卡顿和加载缓慢,耗电过快,大数据量渲染性能差

优化方案‌:代码优化(减少DOM操作)‌图片懒加载和压缩,使用虚拟滚动技术处理长列表

1px边框在高清屏变粗‌,横竖屏切换布局错乱,键盘弹出时页面布局异常

 

microapp 部署

确保基座应用和子应用都已开发完成并通过测试

准备生产环境服务器配置(推荐Nginx)

确认所有子应用的独立运行能力

配置public-path.js文件

设置跨域头信息

‌‌‌‌‌‌‌‌‌‌

http://www.wxhsa.cn/company.asp?id=5512

相关文章:

  • 外置Tomcat启动Springboot项目后,请求参数中文乱码的问题解决 - yjry
  • gradle项目多模块中主模块加载子模块中的sqlmapper文件方法
  • MCP - 使用 fastmcp 编写 Client 调用 MCP Serverr - Streamable HTTP (四)
  • 全面理解MySQL架构
  • Figma EX 125.7.5 UI原型设计
  • 基于WebSocket的命令与控制工具WSC2详解
  • LocalDateTime节日和平日在时间占比计算方法
  • JSON字符串转换List对象列表 JSONArray toJavaList
  • vue3 使用 docx-preview 预览 Word文档
  • 数据库原理-第三章——SQL
  • 啥是CPU
  • C# Avalonia 15- Animation- CodeAnimation
  • ubuntu 18.04安装mysql 8.0.41
  • Topaz Photo AI Pro 4.0.4 AI图片智能降噪(win版)
  • 阿里云基础设施 AI Tech Day AI 原生,智构未来——AI 原生架构与企业实践专场
  • 实用指南:LINUX910 CENTOS8 新建虚拟机;重设root密码/时间同步
  • 零基础学习PYthon记录
  • C++ std::unordered_set
  • 如何将一个项目同时提交到GitHub和Gitee(码云)上
  • 基于Matlab的LeNet-5车牌字符识别系统实现
  • MATLAB的交通标志牌识别实现
  • Python常见的数据结构和代码示例
  • Grafana 中文入门教程 | 构建你的第一个仪表盘
  • Gitee DevOps:中国开发者效率革命的数字引擎
  • Topaz Photo AI Pro 4.0.4 AI图片智能降噪
  • C++ std::map
  • 易基因:Nat Genet/IF29:董朝斌团队ChIP-seq等揭示作物株型穗型发育调控新机制 助力表观遗传育种驯化改良(顶刊佳作)
  • Edge浏览器网页长截图
  • Python TensorFlow的CNN-LSTM-GRU集成模型在边缘物联网数据IoT电动汽车充电站入侵检测应用
  • C++多线程编程—线程控制、同步与互斥详解