9.25盒马鲜生一面

news2024/11/15 17:52:28

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.coloradmin.cn/o/2165614.html

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

相关文章

甩锅笔记:好好的服务端应用突然起不来,经定位是无法访问外网了?测试又说没改网络配置,该如何定位?

在工作中、团队协作时&#xff0c;可能遇到的问题&#xff0c;如集成测试等场景。但是作为偏前端的全栈&#xff0c;锅从天上来&#xff0c;不是你想甩就能甩&#xff0c;尤其面对测试等比较强势的团体&#xff08;bug创造者&#xff09;&#xff0c;你必须有强大的心理承受能力…

Vscode Run Code Py中文乱码问题

F1打开命令行界面&#xff0c;找到settings.json文件&#xff1b;选Workspace这个 找/直接输"code-runner.executorMap" python值改为"$pythonPath $fullFileName"

进程和线程的区别;线程的多种创建方式;Thread 类及常见方法;线程的状态

文章目录 进程和线程的区别线程的创建方式继承Thread&#xff0c;重写run&#xff08;创建单独的类/匿名内部类&#xff09;实现Runnable&#xff0c;重写run&#xff08;创建单独的类/匿名内部类&#xff09;实现Callable&#xff0c;重写call&#xff08;创建单独的类/匿名内…

828华为云征文 | 云服务器Flexus X实例,Docker集成搭建 Jupyter Notebook

828华为云征文 | 云服务器Flexus X实例&#xff0c;Docker集成搭建 Jupyter Notebook Docker 部署 Jupyter Notebook 是一个方便且快速的方式&#xff0c;可以帮助你搭建一个用于数据分析、机器学习和科学计算的环境 华为云端口放行 服务器放行对应端口9955 Docker安装并配置镜…

计算物理精解【1】-C++计算(1)

文章目录 基础hello,worldgetlinestd::cin引用与指针函数数据类型基本数据类型更多类型sizeof 正则表达式单次匹配多次匹配组匹配字符串的匹配 splitmap基础实战整型变量符号表简单分析生成整型变量表 正则表达式基础regex_matchregex_replaceswap Eigen概述简单例子Matrix基础…

DNS协议解析

DNS协议解析 什么是DNS协议 IP地址&#xff1a;一长串唯一标识网络上的计算机的数字 域名&#xff1a;一串由点分割的字符串名字 网址包含了域名 DNS&#xff1a;域名解析协议 IP>域名 --反向解析 域名>IP --正向解析 域名 由ICANN管理&#xff0c;有级别&#xf…

2.1 HuggingFists系统架构(二)

部署架构 上图为HuggingFists的部署架构。从架构图可知&#xff0c;HuggingFists主要分为服务器(Server)、计算节点(Node)以及数据库(Storage)三部分。这三部分可以分别部署在不同的机器上&#xff0c;以满足系统的性能需求。为部署方便&#xff0c;HuggingFists社区版将这三部…

Python | Leetcode Python题解之第419题棋盘上的战舰

题目&#xff1a; 题解&#xff1a; class Solution:def countBattleships(self, board: List[List[str]]) -> int:return sum(ch X and not (i > 0 and board[i - 1][j] X or j > 0 and board[i][j - 1] X)for i, row in enumerate(board) for j, ch in enumerat…

vue全局注册和局部注册的区别

1.全局注册&#xff1a; a、b为注册的组件 2.局部注册 3.有图可以看出&#xff0c;全局注册会影响白屏时间

2024最新Python Debugger工具pdb的用法(深度学习项目),了解输入输出的形状大小

侵入式方法 &#xff08;在被调试的代码中添加以下代码然后再正常运行代码&#xff09; import pdb pdb.set_trace() 例如&#xff1a; 正常运行训练文件后&#xff1a; 在命令行发现输出以下内容&#xff1a; 出现了(Pdb) 的提示符&#xff0c;说明已经打开pdb 在使用Pyth…

解决fatal: unable to access ‘https://........git/‘: Recv failure: Operation time

目录 前言 解决方法一 解决方法二 解决方法三 解决方法四 总结 前言 在使用 Git 进行代码拉取时&#xff0c;可能会遇到连接超时的问题&#xff0c;特别是在某些网络环境下&#xff0c;例如公司网络或防火墙严格的环境中。这种情况下&#xff0c;Git 无法访问远程仓…

红帽认证会过期吗?一文给你解释清楚!

红帽认证以其权威性、实用性和高含金量受到了广大IT人士的青睐&#xff0c;尤其是Linux领域。然而&#xff0c;许多人在考取红帽认证后&#xff0c;心中都有一个疑问&#xff1a;红帽认证会过期吗?本文将为大家详细解答这个问题。 红帽认证是什么? 红帽认证是由红帽公司(Re…

Windows 2003系统的防护技巧,禁止IPC$空连接

一、修改管理员帐号和新建“陷阱”帐号 多年以来&#xff0c;微软一直在强调建议重命名Administrator账号并禁用Guest账号&#xff0c;提高计算机的安全性。Windows Server 2003系统&#xff0c;Guest 账号是默认禁用的&#xff0c;管理员账号默认是Administrator&#xff0c;…

html 几行的空间分成3个区域

1.代码 <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <title>三个区域示例</title> …

深入解析Python 中的 sortedcontainers 库:高效的排序数据结构

在日常的 Python 编程中&#xff0c;列表&#xff08;list&#xff09;、集合&#xff08;set&#xff09;和字典&#xff08;dict&#xff09;是常用的数据结构。然而&#xff0c;在某些特定的场景下&#xff0c;我们需要对数据进行排序&#xff0c;并且希望在插入、删除或访问…

4.2章节python中选择结构

选择结构主要通过if、elif&#xff08;else if的缩写&#xff09;和else语句来实现。这些语句允许程序根据条件执行不同的代码块。另外还有表达式中多个条件连接等。 一、基本语句if if 语句后面跟一个条件表达式&#xff0c;如果条件为真&#xff08;True&#xff09;&#…

Machine Learning Specialization 学习笔记(4)

文章目录 前言一、模型评估训练集常规训练集线性回归逻辑回归 交叉验证集 偏差与方差正则化 学习曲线数据集的添加&#xff08;数据增强&#xff09;迁移学习精确率与召回率 二、决策树基本概念决策树的工作原理决策树的优点决策树的缺点决策树算法的变体决策树在Python中的实现…

OpenCV4.8 开发实战系列专栏之 01- 环境搭建与图像读写

大家好&#xff0c;欢迎大家学习OpenCV4.8 开发实战专栏&#xff0c;长期更新&#xff0c;不断分享源码。 专栏代码全部基于C 与Python双语演示&#xff0c;专栏答疑群 请联系微信 OpenCVXueTang_Asst 本文关键知识点&#xff1a; 开发环境搭建、读取图像与显示图像,读取图像…

什么是换电连接器

换电连接器是一种高压连接器&#xff0c;安装在整车中&#xff0c;属于车载连接器。它利用导体和绝缘体的特性&#xff0c;将电能和数据信号从换电站设备传输到电动汽车的电池组&#xff0c;实现能源的快速补充。换电连接器通常由插头和插座两部分组成&#xff0c;通过精密的对…

紫光展锐 携手摩托罗拉在全球市场推出强竞争力5G手机moto G35

moto G35 5G亮点 ■ 高清视界&#xff1a;6.72英寸FHDLCD屏幕&#xff0c;120Hz高刷新率&#xff1b; ■ 震撼音效&#xff1a;配备立体声扬声器和杜比全景声Dolby Atmos&#xff1b; ■ 大师影像&#xff1a;5000万像素后置AI相机&#xff1b; ■ 强劲核芯&#xff1a;紫光…