2023.01.11 某国企前端笔试题一部分

2023-10-31

什么时候开始记录都不算晚,即使已经是晚了,但是再早的东西也会有淘汰的时候,收藏另说。

问题主要选取一些高频和基础的问题。(问题的回答只是本人的理解,非参考答案,有些答案只给个提示,详解可谷歌百度或在掘金内搜索相关文章、同时本人每次回顾更新文章都会重新搜一下,与时俱进同步新答案)

  1. HTML、XHTML、HTML5的区别是?常见的浏览器内核有哪些?

答:前两者的主要区别是:1.XHTML标签必须被关闭、2.XHTML标签及属性必须小写、3.XHTML标签必须用引号、4.XHTML标签用id属性代替name属性。HTML5是:1:文档类型简写、2:字符编码简写、3:标签不再区分大小写、4:允许属性值不加引号、5:允许部分属性值的属性值省略。

简答:HTML指的是HTML4.01,XHTML是更严格、更纯净的HTML4.01过渡版,HTML5是HTML的升级版,他们之间存在标签关闭及属性大小写还有类型简写的不同。常见浏览器内核:IE的Trident、FireFox的Gecko、dEdg的EdgeHTML、Chrome的的Webkit、Blink、Safari的Webkit。


  1. HTTP常见的状态码有哪些?各自含义是?适用于什么场景?

答:101(切换请求协议)从 HTTP 切换到 WebSocket、200(请求成功)服务器已成功处理了请求并返回数据、301(永久重定向)会缓存、302(临时重定向)不会缓存、304(未修改)自从上次请求后,请求的网页未修改过,服务器返回此响应时,不会返回网页内容、403(禁止)服务器拒绝请求、404 (未找到)资源未找到,请求的网页不存在、405 (请求方式不对)、500(服务器端错误)、503(服务端暂时无法处理请求)可能过载或维护、

使用场景:1xx:1开头的是信息状态码

2xx:2开头的是请求成功

3xx:3开头的是重定向

4xx:4开头的是客户端请求错误

5xx:5开头的是服务器请求错误


  1. HTTP和HTTPS之间的区别是?

答:HTTP是超文本传输协议,HTTPS是超文本传输安全协议,是以安全为目标的HTTP通道,简单讲是HTTP的安全版。1、http信息是明文传输,https则是通过ssl加密传输协议。2、http和https使用的是完全不同的连接方式,前者默认端口是80,后者默认是443。3、https需要到证书机构申请证书。


  1. JavaScript中的==、===的区别是?0、NAN、null、undefined、false的区别是?

答:'=='表示等于,是相等运算符、'==='表示值相等并且类型相同,是全等运算符。如果操作数的类型不同,`== `运算符会在比较之前尝试将它们转换为相同的类型。'==='不尝试类型转换,始终将不同类型的操作数视为不同。

区别:0是数字类型,它的布尔值是false、NaN的类型是一个number,代表不是数值类型,代表一个“不是数字”或者不存在且不等于自身的值。这个特殊的值是因为运算不能执行而导致的、null的类型是个一对象,代表一个空值,它对应的布尔值false,数字0,字符串“null”、undefined表示未定义或不存在,undefined对应类型是undefined,布尔型false,字符串undefined,数字计算结果一定是NaN、false是布尔值类型,表示真假的意思。

拓展:" "是字符串类型,它的布尔值是false,在IF条件运算中undefined、null、NaN、false、0、""、false都是相对等于(==)false的,{}和[]是true;其中"undefined==null" 和 "0==false"、"''==false"的关系运算结果都是true


  1. CSS中的display:none、visibility:hidden和opacity:0互相的区别是?

答:display:none是设置元素展示方式,能隐藏元素,不占据空间,不可点击,性能消耗大,导致回流、visibility:hidden是设置元素是否可见,能隐藏元素,占据空间,不可点击,性能消耗小,导致重绘、opacity:0是设置元素透明度为0,能隐藏元素,占据空间,隐藏后仍可点击,性能消耗小,导致重回。


  1. 如何克服HTTP协议的无状态的缺陷?Cookie和Session的区别分别是?

答:无状态是指协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态。即我们给服务器发送 HTTP 请求之后,服务器根据请求,会给我们发送数据过来,但是,发送完,不会记录任何信息。缺少状态意味着如果后续需要处理,需要提供前面的信息。克服无状态协议缺陷的办法是通过Cookie和Session会话保存信息。

区别:1、存储位置不同:Cookie将状态/数据信息保存在客户端,Session将状态/数据信息保存在服务器端。

2、存储容量大小不同:cookie存储的容量较小,一般<=4KB,session存储容量大小没有限制。

3:存储有效期不同:cookie可以长期存储,session在超过一定的操作时间(通常为30分钟)后会失效,但是当关闭浏览器时浏览器会自动清除掉session中的信息。

4:安全性不同:cookie存储在客户端,可被欺骗,session存储在服务器上安全性较高。

5:域支持范围不同

6:对服务器压力不同

7:存储的数据类型不同


  1. HTTP协议有哪些请求方式?请求报文和响应报文分别包含哪几个部分?

答:GET、POST、HEAD、PUT、DELETE、OPTIONS、CONNECT。

请求报文包含3部分:请求行:包含请求方法、URI、HTTP版本信息、请求首部字段、请求内容实体。

响应报文包含3部分:状态行,包含http版本、状态码、状态码的原因短语、相应首部字段、相应内容实体。


  1. 请描述Vue双向绑定原理,以及说明 Vue 从初始化页面一修改数据一刷新页面的过程。

答:vue 在实例化的时候,使用 Object.definePropety() 方法或 Proxy 构造函数,对 data 进行 getter 和 setter 的处理。在组件渲染时,若用到 data 里的某个数据,这个数据就会被依赖收集进watcher 里。当数据更新,如果这个数据在 watcher 里,就会收到通知并更新,否则不会更新——vue 采用“数据劫持”+“观察者模式(发布者-订阅者模式)”相结合的方式实现了双向绑定。

拓展:区分响应式和双向绑定:

响应式一般指:数据改变驱动视图改变,是单向的

双向绑定:是双向的,视图反过来也可以改变数据。也就是说响应式是双向绑定的一环


  1. 您常用的前端开发工具、前端开发库或框架有哪些?

答:VSCode、HbuiderX、WebStorm。框架:Vue、React、Uni-app(基于vue.js核心)、NodeJs。开发库:Vant-ui组件库、TDesign组件库、Uni-app组件库、Uview-ui组件库、Element-ui组件库、Ant-Design-ui组件库。其他:DriverJs 引导页库、typedJs 打字效果、animeJs 动画库。


  1. 您了解哪些前端性能优化的方法?

答:从网络层面和浏览器层面两个层面优化,保证资源更快的 加载速度,保证视图更快的 渲染速度/交互速度。网络层面:压缩资源体积,使用gzip格式进行http压缩、压缩图片资源、减少http请求数量、减少不必要的coolie、CDN托管静态资源+HTTP缓存、HTTP协议升级为2.0。渲染层面:减少阻塞渲染的因素、懒加载、白屏优化、服务端渲染、预渲染。交互层面:减少回流/重绘/、注意防抖/节流、使用web worker 、使用虚拟列表、大文件分片上传、vue项目优化。

(参考链接:https://mp.weixin.qq.com/s/FbFtNwBKaU7o0TcPFZSpvA)


  1. 请简明扼要地描述微信小程序从0到1的整个过程。

答:整体流程:小程序账号 + 微信开发者工具 + 前端代码 + 后端数据 = 微信小程序

1、注册微信小程序账号,进入微信公众平台,选择小程序的账号类型按照流程进行注册。2、下载开发工具,有了账号后,我们就可以使用这个账号进行开发了,开发或者预览用的IDE是腾讯出品的微信开发者工具。3、开始进入小程序前端开发,打开刚下载好的微信开发者工具,扫码登录、创建小程序项目。登录微信公众号平台,在开发->开发设置->开发者ID中找到你小程序的AppID并填入到项目设置里。4、前端开发过程,选好语言框架和开发库,开始按照原型开发前端页面和接口连接。5、打包上线,开发完成后就可以准备上线了,首先在开发者工具里将写好的代码上传,点击上传,定义版本号和注释,再到微信公众平台的版本管理提交审核,待审核通过了就表示上线成功了,就可以在微信中搜索到你的小程序进行访问了。


  1. 请列举至少3项浏览器中碰到的兼容性问题,分别是如何解决的?

答:1、桌面端:语法过新,旧款浏览器无法兼容并失效问题。编译前采用转换当前代码并编译成ES5语法插件。2、桌面端:分辨率缩放比例不同,显示器的分辨率和显示器/浏览器设置的缩放比例不同,导致页面布局错乱,最终显示效果兼容问题。使用响应式布局,使用根据主流分辨率适配当前页面布局。3、移动端:不同屏幕尺寸大小不同,使用flex/布局,百分比/rem/rpx/vh、vw作为单位来动态达到适配。(还有很多很多代码语法上的兼容,不列举了。)


  1. 什么是反向代理?反向代理有几种方式?

答:反向代理是一种服务,它接受客户端请求,将请求发送到一个或多个代理服务器,获取响应,然后将服务器的响应传递给客户端。反向代理有基于IP代理,基于域名代理,基于端口代理三种方式。


  1. 简述一个页面从输入URL到页面加载显示完成的过程?

答:一、DNS解析,它用于TCP/IP网络,它所提供的服务是用来将主机名和域名转换为IP地址的工作。二、建立TCP连接,TCP三次握手。三、发送http请求,服务器处理请求并返回http报文。四、浏览器解析渲染页面。


  1. 什么是跨域,跨域的解决办法什么?

答:跨域问题是这是浏览器为了安全实施的同源策略导致的,同源策略限制了来自不同源的document、脚本,同源的意思就是两个URL的域名、协议、端口要完全相同。script标签jsonp跨域、nginx反向代理、node.js中间件代理跨域、后端在头部信息设置安全域名、后端在服务器上设置cors。


  1. SSL证书有哪些?自签证书会导致什么问题?

答:SSL标准证书有自签名证书和CA机构颁发的证书,自己生成的SSL证书也叫自签名SSL证书,签发很随意,任何人都可以签发,容易被黑客仿冒利用,不是由正规的CA机构颁发的,所以不受浏览器的信任。而付费的SSL证书,是由受信任的CA机构颁发的,申请时会对域名所有权和企业相关信息进行验证,安全级别是比较高的,而且备受各大浏览器的信任。 缺点:应用程序/操作系统不信任自签名证书,这可能会导致身份验证错误等;自签名证书可使用低哈希和密码技术。因此,自签名证书的安全级别可能不满足当前的安全策略等;不支持高级PKI(公钥基础结构)功能,例如在线检查撤销列表等;自签证书的有效期通常为1年,这些证书需要每年更新/更换,这是一个很难维护的问题,如果设置有效期过长,就容易被破解;与自签名SSL证书相关联的安全警告会驱逐潜在客户;自签SSL证书最容易被假冒和伪造。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

2023.01.11 某国企前端笔试题一部分 的相关文章

随机推荐

  • No.7软件需求规格说明书及UML

    软件需求规格说明书 SRS 是需求开发活动的产物 编制该文档的目的是使项目干系人与开发团队对系统的初始规定有一个共同的理解 使之成为整个开发工作的基础 软件需求规格说明书 国家标准BG T 8567 2006中 提供了SRS的文档模版和编写
  • 微信公众号第三方登录,简单易懂

    1 准备工作 1 登录微信公众号接口测试平台设置信息 地址 http mp weixin qq com debug cgi bin sandbox t sandbox login 登录成功后可以看到测试用的appid和appsecret 这
  • Premiere Pro cc 2019 全面使用教程(非常简单)

    视频剪辑工具 对于youtuber vloger 抖音播客都是必不可少的工具 一直关注pr终于有机会尝试一下 比较全面地记录一部短片的制作操作 一 安装 1 安装软件 2 crack 将此dll替换C Program Files Adobe
  • 如何微调医疗大模型llm:llama2学习笔记

    三个微调方向 简单医疗问答 临床问答 影像学 一般流程 1 数据集准备 2 模型基座选择 3 微调 4 案例拆解 1 数据集准备 两种类型 一种文本一种影像 扩展 多模态 2 模型基座选择 多模态处理所有视频 文本 数字人将会受到威胁 数字
  • 21款网页版html5小游戏源码

    html5魅族创意的贪食蛇游戏源码下载 html5网页版打砖块小游戏源码下载 html5 3D立体魔方小游戏源码下载 html5网页版飞机躲避游戏源码下载
  • Arduino简单实例之三_土壤湿度传感器

    1 说明 用于土壤的湿度检测 可通过电位器调节土壤湿度的阀值 顺时针调节 控制的湿度会越大 逆时针越小 湿度低于设定值时 DO输出高电平 模块提示灯亮 湿度高于设定值时 DO输出低电平 模块提示灯灭 工作电压3 3V 5V 3V时 在空气中
  • 2023年新自采集壁纸网页源码+简约大气

    正文 一款壁纸网页源码 但这款源码是有网友改了一下接口 但还是挺不错的 有兴趣的可以自己去搭建体验 我也搭建了演示站 感觉挺行 界面美观大气 壁纸也很多 类型也比较多 程序 wwidsu lanzout com i3ZHQ0f7dqli 图
  • Hibernate --- hibernate.cfg.xml核心配置文件详解

    一 Hibernate配置文件加载流程 1 通过Configuration config new Configuration configure 加载默认配置文件 2 Configuration的configure 方法 注意 hibern
  • LeetCode总结 -- 图篇

    图的算法跟树一样是准备面试中必不可少的一块 不过图的方法很容易概括 面试中考核的无非就是两种搜索算法 深度优先搜索和广度优先搜索 LeetCode中关于图的问题有以下几个 Clone Graph Word Ladder Word Ladde
  • 【华为OD机试真题】不含101的数(python版)100%通过率 超详细代码注释 代码解读

    华为OD机试真题 2022 2023 真题目录 点这里 华为OD机试真题 信号发射和接收 试读 点这里 华为OD机试真题 租车骑绿道 试读 点这里 不含101的数 时间限制 1s空间限制 256MB限定语言 不限 题目描述 小明在学习二进制
  • 堪称一绝,阿里技术人都用的Nginx笔记手册,应用到架构齐全

    有人调侃我们说 程序员不如送外卖 送外卖是搬运食物 自己是搬运代码 都不产出新的东西 透支体力 又消耗健康 可替代性极强 30岁之后就要面临被优化的危险 想跳槽 但是更高的平台难进 同级别的平台又是重复 想利用业余时间学习提升 但是自己能力
  • mininet+pox+poxdesk使用入门

    mininet pox poxdesk使用入门 前提是安装好mininet以及pox和poxdesk模块 接下来就是如何使用 笔者环境是Win7环境下VMware Workstation新建虚拟机上运行Ubuntu 12 0 首先在新打开的
  • 面试题(vue,react,前端)

    目录 1 说说React生命周期中有哪些坑 如何避免 2 说说Real diff算法是怎么运作的 3 调和阶段setState干了什么 4 说说redux的实现原理是什么 写出核心代码 5 React合成事件的原理 6 React组件之间如
  • java后端生成图形验证码、前端接收并展示

    1 工具类 import java awt Color import java awt Font import java awt Graphics import java awt Graphics2D import java awt Ren
  • PHP中的数据类型有哪些?

    嗨 大家好 今天 我们来了解一下PHP中的数据类型 首先 让我们来介绍一下PHP中的基本数据类型 在PHP中 有六种基本数据类型 它们分别是 整数型 int 用于存储整数 例如 123 456等 浮点型 float 用于存储带有小数点的数
  • Linux删除文件后,发现磁盘空间没有释放-lsof

    最近碰到磁盘快满了 原因是程序错误导致日志爆炸性增长 于是直接删除日志文件 然后df h 发现磁盘空间一点都没下降 还是原来的90 使用率 有点奇怪 百度了解到 日志文件被删除之前文件处于被其他进程占用状态 即使删除 依然占用空间 通过ls
  • STL源码分析:sort函数

    目录 支持sort的容器 几种涉及到的排序算法 插入排序 快速排序 堆排序 sort函数的策略 sort函数的实现 STL的sort函数非常常用 不同的STL版本有不同的实现方式 本文就来说一下SGI STL中是如何实现sort函数的 so
  • 408计算机网络(王道版)

    408计算机网络第一章总结 408计算机网络第二章总结 408计算机网络第三章总结 408计算机网络第四章总结 408计算机网络第五章总结 408计算机网络第六章总结 408计算机网络第一轮反思
  • QHash 与 QMap的区别

    QMap QMap是Qt的一个模板类 它是基于红黑树算的的一套字典 是Qt容器中的一种 它的原型是 QMap原型为class QMap
  • 2023.01.11 某国企前端笔试题一部分

    什么时候开始记录都不算晚 即使已经是晚了 但是再早的东西也会有淘汰的时候 收藏另说 问题主要选取一些高频和基础的问题 问题的回答只是本人的理解 非参考答案 有些答案只给个提示 详解可谷歌百度或在掘金内搜索相关文章 同时本人每次回顾更新文章都