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

前端面试题(12)答案版

1. H5的新特性?

   1) 更加语义化的标签,如<header>、<nav>、<article>等,便于网页结构的表达。

   2) 新的多媒体标签,如<video>和<audio>,支持本地视频和音频的播放。

   3) 本地存储API,如localStorage和sessionStorage,用于在客户端保存数据。

   4) 离线web应用程序缓存,允许网页在断网情况下继续访问。

   5) 地理位置API,可以获取用户的地理位置信息。

   6) 拖放API,支持在网页中进行拖放操作。

   7) Canvas 2D绘图API,可以在网页中动态绘制图形。

 

2. 事件循环(EventLoop)?

   1) 检查宏任务队列(如setTimeout)中是否有可执行的任务,如果有则执行。

   2) 执行完所有宏任务后,检查微任务队列(如Promise.then)是否有待执行的任务,依次执行。

   3) 执行完微任务后,如果有需要重新渲染的DOM变化,则进行页面重新渲染。

   4) 重复上述步骤,进入下一个事件循环。

 

3. setTimeout和setImmediate执行顺序?

   - 1)setTimeout:是宏任务,会被添加到宏任务队列中,在事件循环的宏任务阶段执行。

   -2) setImmediate:是Node.js中的特有API,属于微任务,会被添加到微任务队列中,在事件循环的微任务阶段执行。

   -3)总结:所以在Node.js环境中,setImmediate会先于setTimeout执行。

 

4. 环境变量配置?

   可以通过process.env来访问和设置环境变量。在不同的操作系统上,设置环境变量的方式有所不同,比如在Windows上使用set命令,在Unix/Linux上使用export命令。在前端开发中,通常会在构建过程中注入一些环境变量,比如API接口地址、版本号等。

 

5. Git工作流?

   1) 主干开发模型(Git Flow):使用master/develop/feature等分支。

   2) GitHub Flow:以master分支为主,每个功能单元一个分支,pull request合并。

   3) GitLab Flow:在GitHub Flow的基础上,增加了环境分支。

   4)具体流程包括:创建分支 -> 提交修改 -> 推送分支 -> 发起合并请求 -> 代码审查 -> 合并到主干。

 

6. 登录工作流?

   1) 传统的表单提交方式,后端返回session ID,前端保存。

   2) 基于token的认证,前端获取token并保存在cookie或localStorage中。

   3) 单点登录(SSO),通过第三方认证服务完成登录。

   4) 基于OAuth2.0的认证授权,如微信登录、Github登录等。

 

7. JavaScript中的堆栈?

   - 1)值类型包括number、string、boolean、null、undefined、symbol,存储在栈内存中。

   -2) 引用类型如object、array、function,存储在堆内存中,变量只是保存了对象的引用。

   -3)这种区别会影响到变量的赋值和比较行为。在前端面试中,考察这些基本概念是非常常见的。

 

 

http://www.lryc.cn/news/387437.html

相关文章:

  • SpringMVC 域对象共享数据
  • 每天五分钟深度学习框架pytorch:tensor向量之间常用的运算操作
  • 【数据结构】(C语言):栈
  • c++类成员指针用法
  • [240625] Continue -- 开源 Copilot | Web-Check 网站分析工具 | Story of EOL
  • 【Mac】Auto Mouse Click for Mac(高效、稳定的鼠标连点器软件)软件介绍
  • javaSE知识点整理总结(下)、MySQL数据库
  • Perl入门学习
  • 2024年7月计划(ue5肉鸽视频完成)
  • 恢复策略(上)-撤销事务(UNDO)、重做事务(REDO)
  • 【鸿蒙学习笔记】位置设置
  • 41.HOOK引擎设计原理
  • STM32启动流程 和 map文件的作用
  • 深度解析华为仓颉语言
  • Android简介-历史、API等级与体系结构
  • SpringBoot:使用Spring Batch实现批处理任务
  • 用JQueryUI库在.net MVC中配置datepicker(时间日期控件)
  • 算法:链表
  • Redis基础教程(一):redis配置
  • 短视频矩阵系统:打造品牌影响力的新方式
  • 品牌推广的三个阶段与核心内容,一篇文章全掌握!
  • 队列与循环队列
  • python基础问题记录
  • Qt之饼图(Pie Graph)
  • Java项目Git提交规范
  • flink-触发器Trigger和移除器Evictor
  • 【力扣 28】找出字符串中第一个匹配项的下标 C++题解(字符串匹配)
  • 软件构造 | Design Patterns for Reuse and Maintainability
  • Python数据分析-股票分析和可视化(深证指数)
  • Linux如何安装openjdk1.8