前端面试题(十)答案版

1. HTTPS 一次会发送几次请求?

   HTTPS 一次会发送至少 2 次请求:

   - 第一次是客户端发送 HTTP 请求,服务器返回 HTTP 状态码 301 或 302,要求客户端访问 HTTPS。

   - 第二次是客户端根据重定向请求,发送 HTTPS 请求,并完成 SSL/TLS 握手等流程。

 

2. 一个搜索框,多个页面共用,但每个页面搜索不同内容,如何封装组件?

   可以创建一个通用的搜索组件,通过 props 传递不同的搜索参数。组件内部维护搜索关键词状态,并提供搜索事件回调。每个页面使用该组件时,传入对应的搜索参数即可。

 

3. 说一说常用的 Linux 命令?

   - `ls`: 列出当前目录下的文件和目录

   - `cd`: 切换目录

   - `mkdir`: 创建目录

   - `rm`: 删除文件或目录

   - `cat`: 查看文件内容

   - `grep`: 搜索文件中的内容

   - `top`: 查看系统进程

   - `ssh`: 远程登录到其他主机

   - `sudo`: 以管理员权限执行命令

 

4. 平时工作中怎样部署?

   部署方式可能包括:

   - 手动部署:远程登录服务器,拉取代码,重启服务

   - 自动化部署:利用 CI/CD 工具,如Jenkins、GitHub Actions等,实现代码合并、构建、测试、发布等一键式部署

   - 容器部署:将应用打包成Docker镜像,部署到容器平台如Kubernetes

 

5. 前端的 Proxy 代理,其底层源码是如何实现的呢?

   Proxy 代理的底层实现依赖于 ES6 中引入的 Proxy 对象。Proxy 对象可以拦截并自定义对目标对象的基本操作,如属性访问、函数调用等。前端 Proxy 代理利用这一特性,实现对请求的拦截和转发。

 

6. Node.js 用过吗?底层源码 C++ 看过吗?V8 引擎的 OpenSSL 看过吗?V8 是怎么解析 JS 的?浏览器的内核是什么?

   - 有使用过 Node.js,它是基于 Chrome 的 V8 引擎构建的 JavaScript 运行时环境。

   - 对 Node.js 的底层 C++ 源码和 V8 引擎的实现细节不太了解。

   - 对 V8 引擎如何解析 JavaScript 代码的机制有初步的了解,主要包括词法分析、语法分析、解释执行等步骤。

   - 浏览器的内核根据不同的浏览器而有所不同,如 Chrome 使用 Blink,Firefox 使用 Gecko,Safari 使用 WebKit 等。

 

7. AMD、CMD、UMD、CommonJS 了解吗?

   - AMD(Asynchronous Module Definition)是一种异步加载模块的规范,代表作是 RequireJS。

   - CMD(Common Module Definition)是另一种模块定义规范,代表作是 SeaJS。

   - UMD(Universal Module Definition)是 AMD 和 CommonJS 的结合,兼容两种规范。

   - CommonJS 是服务器端 Node.js 使用的模块系统,采用同步加载模块。

   这些模块化规范都是为了解决 JavaScript 缺乏模块化的问题。

 

8. 做过云函数吗?

   有做过一些小型的云函数项目,主要用于实现简单的后端逻辑,如处理 HTTP 请求、操作数据库等。云函数可以让前端开发者无需搭建服务器就能实现服务端功能,降低了开发成本和运维复杂度。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/34807.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

动态规划2

目录 121 买卖股票的最佳时机 打家劫舍 62 不同路径 64 最小路径和 53 最大子数组和 (动归 普通数组部分) 152 乘积最大子数组 300 最长递增子序列 1143 最长公共子序列 72 编辑距离 121 买卖股票的最佳时机 给定一个数组 prices ,…

【C++】 ubuntu下获取屏幕尺寸、分辨率

1. 给/dev/fb0权限 sudo chmod 0777 /dev/fb0 注意:不执行这一条权限,无法获取任何数据 2. 获取屏幕尺寸 int fd; struct fb_var_screeninfo screenInfo; fd open("/dev/fb0",O_RDWR); ioctl(fd,FBIOGET_VSCREENINFO,&screenInfo); pr…

【毛毛虫案例-拖拽 Objective-C语言】

一、这个毛毛虫案例啊,是这个样子的, 1.首先,你这个脑袋,这个蓝色的脑袋,它是可以拽起来的, 下面的红色球,一个一个中心点之间,相互去附着, 其他的红色球,是拖不起来的, 只有这个蓝色的东西,可以拽起来,这个蓝色的View,还有重力, 这个蓝色的View,我在拖动它…

[深度学习] 变分自编码器VAE

变分自编码器(Variational Autoencoders, VAEs)是一种生成模型 Tutorial on Variational Autoencoders,它结合了概率图模型和深度学习,通过学习数据的潜在表示来生成新的数据样本。VAEs在数据生成、异常检测、数据压缩等领域具有广…

如何应对UI测试自动化的不稳定循环!

以下为作者观点: 当我加入UI自动化团队时,我很高兴能为新功能的自动化测试用例开发做出贡献。然而,我很快意识到团队花费了大量时间来修复之前迭代中不稳定的测试。这种情况让我感到困惑,因为当自动化测试脚本已知不稳定时&#…

git使用中 error: pathspec ‘XXX‘ did not match any file(s) known to git 报错解决方法

报错原因 本人在本地开发中,切换线上新创建分支时: $ git checkout master01 error: pathspec master01 did not match any file(s) known to git解决方式 $ git branch -a | grep master * masterremotes/origin/HEAD -> origin/masterremotes/or…

python开发api接口框架

在现代软件开发领域中,API接口框架扮演着非常重要的角色。它可以帮助开发者快速搭建和部署API,提供数据交换的接口,使得不同系统之间可以进行通信和数据传输。Python作为一门功能强大且易于学习的编程语言,被广泛应用于API接口的开…

【Windows 常用工具系列 17 -- windows bat 脚本多参数处理】

请阅读【嵌入式开发学习必备专栏】 文章目录 bat 脚本命令行参数使用示例多参数处理使用示例遍历所有参数 bat 脚本命令行参数 在Windows批处理(.bat)脚本中接收命令行参数是一个常见的需求,这样的脚本能够根据提供的参数执行不同的操作。命…

Kubernetes之Controller详解

本文尝试从Kubernetes Controller的种类、交互逻辑、最佳实践、伪代码示例及历史演进5个方面对其进行详细阐述,希望对您有所帮助! 一、Kubernetes Controller种类 Kubernetes Controller Manager 是 Kubernetes 集群的核心组件之一,负责管理…

身边的故事(十一 ):阿文的故事:红包

虽然是发小,但是小时候的记忆很模糊了,从哪里写起呢?时间节点从大学开始吧,初中的那些有机会后续再写了。 今年回家过年的时候收到阿番要结婚的消息。大年初三阿番就在微信上给我发电子请帖。阿番的女朋友和阿番同居已经有三四年。…

C++ std::array的原理和语法

原理 std::array 是C标准库提供的一个模板类,用于表示固定大小的数组。与传统的C风格数组不同,std::array 提供了更加安全和功能丰富的接口,并且它的大小在编译时就已经确定。std::array 实际上是对传统数组的一个轻量级封装,提供…

无线幅频仪制作(WiFi通信)-含STM32源程序,JAVA上位机与设计报告

资料下载地址:无线幅频仪制作(WiFi通信)-含STM32源程序,JAVA上位机与设计报告 目录 项目功能 1、 系统方案1.1 比较与选择 1.1.1 控制器的论证与选择 1.1.2 信号源的论证与选择 1.1.3 放大器模块的论证与选择 1.1.4 键盘与显示模块的论证与选择 1.1.5 网络通…

[保姆级教程]uniapp小程序获取右上角胶囊位置信息

文章目录 导文使用uni.getMenuButtonBoundingClientRect();方法实现完整案例 隐藏默认导航栏&#xff1a;全局隐藏当前页面隐藏 导文 uniapp小程序获取右上角胶囊位置信息 使用uni.getMenuButtonBoundingClientRect();方法实现 <script>const menuButtonInfo uni.getMe…

logstash配置文件中明文密码加密

1 案例背景 应用配置文件中禁止使用明文密码&#xff0c;需要加密处理 上图中&#xff0c;红框打码位置为es的明文密码&#xff0c;需要对其进行处理 2 创健keystore文件 /rpa/logstash/bin/logstash-keystore --path.settings /rpa/isa/conf/logstash/ create 注&#xff1…

记录正则提取文章

收到了个word版的电子书&#xff0c;需要拆分并转换为md存储到数据库中&#xff0c;便于搜索&#xff0c;记录下用正则提取文章的过程 word原文中有目录&#xff0c;可提取出目录后&#xff0c;在正文中根据目录来正则提取文章 正则的多行匹配 在匹配大量文章的时候&#xff…

互联网时代的语义网知识表示框架---OWL和OWL2 Fragments

文章目录 RDF和RDFSOWL的重要词汇RDF和RDFS 前面介绍了RDF和RDFS,通过RDF (S)可以表示一些简单的语义,但在更复杂的场景下, RDF (S)语义的表达能力显得太弱,还缺少常用的特征: 对于局部值域的属性定义。RDF (S)中通过rdfs:range定义了属性的值域,该值域是全局性的…

llm-universe | 四. 构建RAG应用

构建RAG应用 一.将LLM 接入 LangChain二.构建检索问答链1.加载向量数据库2.创建一个 LLM3.构建检索问答链4.检索问答链效果测试5.添加历史对话的记忆功能5.1 记忆&#xff08;Memory&#xff09;5.2 对话检索链&#xff08;ConversationalRetrievalChain&#xff09; 三. 部署知…

ts可选参数

可选参数 参数后加个问号&#xff0c;代表这个参数是可选的 function bdd(x:number,y?:number){return x y } console.log(bdd(2,3)) function bdd(x:number,y?:number){return x y } console.log(bdd(2))

从0到1构建自己的短链接系统

1. 短链系统简介 1.1 短链系统的定义与用途 短链系统是指将一个较长的URL地址&#xff0c;通过特定的算法生成一个较短的、具备唯一性的URL地址。这种系统广泛应用于社交网络、短信、邮件营销等场景&#xff0c;它能帮助用户在字数受限的情况下分享链接&#xff0c;并且还具有…

Jenkins 创建流水线任务

Jenkins是一个流行的持续集成&#xff08;Continuous Integration&#xff0c;CI&#xff09;工具。 Jenkins 创建任务 选择“流水线”类型&#xff0c;该类型的优点是定制化程度非常高 &#xff08;可选&#xff09;添加“参数化构建” 配置仓库选项(ssh连接、分支)和凭据…