9.25盒马鲜生一面

1.自我介绍

2.css两种盒子模型

​3.rem和em

4.px概念

5.transition和animation的区别

6.移动端适配方案

 7.vh、vw、%

8.js基本数据类型

9.call、apply、bind的区别

10.js实现继承的方法

11.get和post的区别

12.web安全(XSS,CSRF)

XSS(跨站脚本攻击)

CSRF(跨站请求伪造攻击)

13.跨域

14.vue2/vue3的响应式原理

15.vue新增的特性

16.有没有做过很有成就感的项目

17.做项目时碰到的难点

18.平时怎么学习前端的知识的

反问

内容参考


1.自我介绍

2.css两种盒子模型

3.rem和em

4.px概念

像素(px)是显示器或屏幕上最小的可控单位,表示图像或文本在屏幕上的大小。它是一个绝对单位,通常用来衡量界面元素的宽度、高度、边距、内边距、字体大小等。

5.transition和animation的区别

6.移动端适配方案

在移动端开发中,通过在 HTML 的 <head> 部分添加 viewport 的 meta 标签,可以控制页面的缩放和适应手机屏幕的大小。

<meta name="viewport" content="width=device-width, initial-scale=1.0">
  • width=device-width:设置 viewport 的宽度为设备的宽度。
  • initial-scale=1.0:设置初始缩放比例为 1。

使用 rem 单位可以让页面的元素相对于根元素(<html>)的字体大小进行缩放,便于响应式设计。同时,结合媒体查询可以针对不同屏幕尺寸进行调整。

html {font-size: 16px; /* 基础字体大小 */}.container {width: 80rem; /* 80 * 16px = 1280px */margin: 0 auto;}@media (max-width: 600px) {html {font-size: 12px; /* 小屏幕下字体缩小 */}.container {width: 90rem; /* 90 * 12px = 1080px */}}

vwvh 单位分别代表视口宽度和视口高度的百分比。使用这些单位可以方便地创建相对布局。

<style>.full-screen {width: 100vw; /* 100% 的视口宽度 */height: 100vh; /* 100% 的视口高度 */background-color: #181818;}
</style><div class="full-screen">Hello, World!
</div>
  • 100vw:占满整个视口的宽度。
  • 100vh:占满整个视口的高度。

使用百分比来设置元素的宽度和高度可以使布局具有更好的灵活性,但需要注意父元素的宽度。

<style>.parent {width: 500px; /* 父元素固定宽度 */height: 300px; /* 父元素固定高度 */background-color: lightgray;position: relative;}.child {width: 50%; /* 子元素占父元素宽度的 50% */height: 50%; /* 子元素占父元素高度的 50% */background-color: blue;position: absolute;top: 0; /* 垂直居顶 */left: 0; /* 垂直居左 */}
</style><div class="parent"><div class="child">子元素</div>
</div>

 7.vh、vw、%

8.js基本数据类型

9.call、apply、bind的区别

10.js实现继承的方法

原型链继承:将父类的实例作为子类的原型,通过 prototype 进行继承

构造继承:将父类的实例属性复制给子类,通过 call 进行继承

实例继承:为父类实例添加新特性,作为子类实例返回

拷贝继承:将父类实例通过循环拷贝给子类

组合继承:就是 原型链继承 和 构造继承,一起使用

寄生组合继承:通过寄生方式,砍掉父类的实例属性,避免了 组合继承中,在调用两次父类的构造时,初始化两次实例方法/属性 的缺点

11.get和post的区别

12.web安全(XSS,CSRF)

XSS(跨站脚本攻击)

概念:
XSS 是一种安全漏洞,攻击者可以通过向用户提交的数据中注入恶意代码(如 JavaScript),从而在用户的浏览器中执行这些代码。这可能导致用户的敏感信息(如 Cookies、会话令牌等)被窃取。

修复方式:

  1. 对实体字符进行转义:在服务器端对用户输入的数据进行转义,防止浏览器将输入的代码作为可执行脚本解析。

    • 例如,将 < 转义为 &lt;> 转义为 &gt;
  2. 使用 HTTP-only Cookie:将 Cookie 标记为 HTTP-only,禁止 JavaScript 读取 Cookie,降低被窃取的风险。

  3. 输入时校验:对用户输入进行严格的验证和过滤,拒绝不符合要求的输入数据。

  4. 统一字符编码:确保浏览器与 Web 应用端使用相同的字符编码,避免字符集相关的问题。


CSRF(跨站请求伪造攻击)

概念:
CSRF 是一种攻击方式,攻击者诱使用户在已认证的会话中发送未经授权的请求,可能导致敏感操作被执行。

修复方式:

  1. 嵌入 Token:在需要防范 CSRF 的页面中,嵌入一个随机生成的 Token,并在用户提交表单时附带该 Token。服务器在处理请求时验证 Token 的合法性。

  2. 再次输入密码:对于重要的操作(如更改密码或资金转账),要求用户再次输入密码进行确认,增加操作的安全性。

  3. 校验 Referer:在服务器端检查请求的 Referer 头,确保请求来源于合法的页面,拒绝来自可疑来源的请求。

13.跨域

CORS:跨域资源共享(Cross-Origin Resource Sharing),是一种允许浏览器向跨域服务器发送 Ajax 请求的机制,支持现代浏览器,服务器端需要设置 Access-Control-Allow-Origin 头信息,指定允许的源或通配符,从而实现跨域请求。

代理:在同源页面内部发送 AJAX 请求到同域服务器,由服务器代理转发请求到跨域服务器,最后再将结果返回给同源页面。

WebSocket:WebSocket 是一种 HTML5 协议,它使得浏览器和服务器之间可以建立持久化的连接,可以直接使用 Socket 进行通信,避免了浏览器的跨域限制。

14.vue2/vue3的响应式原理

双向数据绑定就是:数据劫持 + 发布订阅模式(观察者模式)

Vue2中在实例初始化时遍历 data 中的所有属性,并使用 Object.defineProperty把这些属性全部转为 getter/setter。并 劫持各个属性 getter 和 setter,在数据变化时发布消息给订阅者,触发相应的监听回调,而这之间存在几个问题

  • 初始化时需要遍历对象所有 key,如果对象层次较深,性能不好
  • 通知更新过程需要维护大量 dep 实例和 watcher 实例,额外占用内存较多
  • Object.defineProperty 无法监听到数组元素的变化,只能通过劫持重写数方法
  • 动态新增,删除对象属性无法拦截,只能用特定 set/delete API 代替
  • 不支持 Map、Set 等数据结构

Vue3中使用 Proxy 来监控数据的变化。Proxy 是 ES6 中提供的功能,其作用为:用于定义基本操作的自定义行为(如属性查找,赋值,枚举,函数调用等)。

15.vue新增的特性

更灵活的响应式系统:Vue 2.x 中响应式系统的核心是 Object.defineProperty,劫持整个对象,然后进行深度遍历所有属性,给每个属性添加getter和setter,实现响应式。Vue 3.x 中使用 Proxy对象重写响应式系统。

更快的渲染速度:Vue3 的编译器生成的渲染函数比 Vue2 生成的更高效。

编译阶段:Vue 2.x 通过标记静态节点,优化 diff 的过程。Vue 3.x中标记和提升所有的静态节点,diff的时候只需要对比动态节点内容。

更小的体积:Vue3 将源码拆分为多个独立的模块,这样就可以按需导入所需的模块,从而减小了整个库的体积。

更好的 TypeScript 支持:Vue3 对 TypeScript 的支持更加友好,内部使用了更先进的 TypeScript 特性,并为其提供了更好的声明文件。

更好的组件系统:比如,Vue3中引入了一个新的 Fragment 组件,它可以替代原来的 template 标签作为根节点

新增了setup组合式API

16.有没有做过很有成就感的项目

有,一个小程序

17.做项目时碰到的难点

有,直播,网上大佬给出了解决方案

18.平时怎么学习前端的知识的

学习一点知识后,去写demo,遇到不会的就问chatgpt

反问

贵公司的技术栈(react)

内容参考

部分答案参考牛客大佬:一小时复习前端面试|2024年年初30道面试题冲刺金三银四_牛客网

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

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

相关文章

Hadoop安装与配置

一、Hadoop安装与配置 1、解压Hadoop安装包 找到hadoop-2.6.0.tar.gz,将其复到master0节点的”/home/csu”目录内&#xff0c;解压hadoop [csumaster0 ~]$ tar -zxvf ~/hadoop-2.6.0.tar.gz 解压成成功后自动在csu目录下创建hadoop-2.6.0子目录&#xff0c;可以用cd hadoo…

Matlab simulink建模与仿真 第十九章(生成C代码)

一、Configuration Parameters模型参数配置 1、仿真时间 &#xff08;1&#xff09;在Solver选项卡中可以设置仿真的起始时间和结束时间&#xff0c;一般起始时间设为0&#xff0c;而结束时间按需设置。 &#xff08;2&#xff09;如果希望仿真不会自动暂停&#xff08;也就…

代码随想录算法训练营第55天 | 寻找存在的路径

寻找存在的路径 题目描述 给定一个包含 n 个节点的无向图中&#xff0c;节点编号从 1 到 n &#xff08;含 1 和 n &#xff09;。 你的任务是判断是否有一条从节点 source 出发到节点 destination 的路径存在。 输入描述 第一行包含两个正整数 N 和 M&#xff0c;N 代表节点…

音视频入门基础:AAC专题(9)——FFmpeg源码中计算AAC裸流每个packet的duration和duration_time的实现

音视频入门基础&#xff1a;AAC专题系列文章&#xff1a; 音视频入门基础&#xff1a;AAC专题&#xff08;1&#xff09;——AAC官方文档下载 音视频入门基础&#xff1a;AAC专题&#xff08;2&#xff09;——使用FFmpeg命令生成AAC裸流文件 音视频入门基础&#xff1a;AAC…

极度精简 Winows11 系统镜像!Tiny11 2311下载 - 支持苹果 M 芯片 Mac 安装 (ARM 精简版)!

最新推出的 Tiny11 是一款极端精简版 Windows 11 系统镜像&#xff0c;针对苹果 M 芯片 Mac 用户&#xff08;ARM 架构&#xff09;提供良好支持。Tiny11 内置了众多优化特性&#xff0c;如更小的安装体积和更快的启动速度&#xff0c;特别适合有特殊需求或老机型的用户。用户可…

打卡软件——人脸识别综合实现Pro

目录 概要 代码说明 1. 导入库 2. 加载预训练的车辆检测模型 3. 读取视频 4. 初始化变量 5. 逐帧处理视频 6. 处理帧 7. 处理检测结果 8. 计算框的坐标 9. 检查车辆中心是否已计数 10. 绘制检测框 11. 显示车流量 12. 退出条件 13. 释放资源 整体代码 效果展示…

过敏星人能否好好呼吸?约克VRF中央空调从呼吸开始全方位守护

对于包括向先生在内的过敏人群来说,秋天可能是比春天更难熬的坎儿,防不胜防的过敏原,例如空气中飘散的花粉、螨虫、霉菌、宠物毛发和皮屑、屋尘等,因为空气质量问题频频引发的过敏症状,令他们苦不堪言,止不住地打喷嚏、眼睛越揉越痒、起床后就开始擦鼻涕…… 如何才能远离这些…

免费的高质量、美观的甘特图模板

呈现您的项目规划新高度&#xff0c;精选几款高品质、视觉出众的甘特图模板。 甘特图Excel模板-Ganttable系统风格甘特图Excel模板-专业甘特图Excel模板-浅蓝色甘特图Excel模板-深灰色 这些 Excel 甘特图模板均源自 Ganttable 甘特图AI工具的智能生成与导出。利用 Ganttable&a…

Win32动态库介绍及全局函数导出

Windows操作系统中&#xff0c;库分为动态链接库(dll)和静态链接库(lib) 动态库是Windows中实现代码共享的一种方式。它是一个二进制式文件&#xff0c;不可单独运行&#xff0c;需要调用方调用才能运行。在Windows中&#xff0c;动态库可以被多种编程语言所支持。 静态链接库不…

线下线上陪玩系统要多少钱?该怎么搭建?

关于线下线上陪玩系统的价格&#xff0c;由于开发成本、功能复杂度、系统规模以及定制需求等因素的不同&#xff0c;价格差异较大&#xff0c;一般在几千元至几万元不等。具体价格需要根据实际需求和预算进行商议和定制。 搭建线下线上陪玩系统大致可以分为以下几个步骤&#…

论文阅读- On the Feasibility of Fully AI-automated Vishing Attacks

https://arxiv.org/pdf/2409.13793 目录 摘要 INTRODUCTION II. GOALS AND THREAT MODEL III. VIKING A. Architecture B. Interaction with the LLM C. Audio processing D. Call processing E. Implementation IV. EVALUATION METHODOLOGY A. Experiment design …

外卖霸王餐在对接api过程中需要注意哪些方面的问题?

在对接外卖霸王餐 API 过程中&#xff0c;需要注意以下几个方面&#xff1a; 一、合法性与合规性 1.遵守法律法规&#xff1a; 确保你的业务和对 API 的使用符合当地的法律法规&#xff0c;包括消费者权益保护法、电子商务法等。了解并遵守与食品相关的法律法规&#xff0c;…

后台数据管理系统 - 项目架构设计-Vue3+axios+Element-plus(0926)

十四、文章分类添加编辑 [element-plus 弹层] Git仓库&#xff1a;https://gitee.com/msyycn/vue3-hei-ma.git 点击显示弹层 准备弹层 const dialogVisible ref(false)<el-dialog v-model"dialogVisible" title"添加弹层" width"30%">…

【React】组件通信

1. 组件通信 组件间的数据传递 1.1 父传子 步骤&#xff1a; 父组件传递数据——在子组件标签上绑定属性子组件接收数据——子组件通过props参数接收数据 function Son(props) {return <div>{props.value}</div> }function App() {const value 父组件传给子…

从零开学C++:二叉搜索树

引言&#xff1a;在本篇博客当中&#xff0c;我们会将关于二叉树的进阶结构——二叉搜索树&#xff0c;强大的搜索效率让它在数据结构当中变得十分重要&#xff0c;让我们一起来进行学习吧&#xff01; 更多有关C的知识详解可前往个人主页&#xff1a;计信猫 一&#xff0c;二叉…

无人机避障——4D 毫米波雷达 SLAM篇(一)

做无人机避障相关工作&#xff0c;3D毫米波避障测试顺利后&#xff0c;开始做4D毫米波雷达无人机避障遇到4D雷达点云需要进行处理的问题&#xff0c;查阅文献&#xff0c;发现以下这篇文章中的建图方法应该为后续思考的方向&#xff0c;特此将这个开源项目进行复现和学习&#…

《论分布式存储系统架构设计》写作框架,软考高级系统架构设计师

论文真题 分布式存储系统&#xff08;Distributed Storage System&#xff09;通常将数据分散存储在多台独立的设备上。传统的网络存储系统采用集中的存储服务器存放所有数据&#xff0c;存储服务器成为系统性能的瓶颈&#xff0c;也是可靠性和安全性的焦点&#xff0c;不能满…

vue3.0 + element plus 全局自定义指令:select滚动分页

需求&#xff1a;项目里面下拉框数据较多 &#xff0c;一次性请求数据&#xff0c;体验差&#xff0c;效果就是滚动进行分页。 看到这个需求的时候&#xff0c;我第一反应就是封装成自定义指令&#xff0c;这样回头用的时候&#xff0c;直接调用就可以了。 第一步 第二步&…

双十一好物清单分享?五款超值的数码好物分享!

双十一马上就来啦&#xff0c;大家是不是都等着在这个时候买点好东西呀&#xff1f;数码产品可是咱们生活里少不了的&#xff0c;能让咱们的生活更方便、更有意思。我这儿给大家挑了五款特别值的数码好东西&#xff0c;准备来跟大家分享分享&#xff01;快来看看有没有你中意的…

【JAVA基础】JAVA类的拷贝使用示例

文章目录 一、框架介绍二、性能对比三、易用性对比四、使用示例&#xff08;一&#xff09;Apache Commons BeanUtils 使用例子1、第一个例子&#xff1a;两个对象属性个数和名称一样&#xff0c;复制过程2、第二个例子&#xff1a;属性个数和名称不一样&#xff0c;复制过程 &…