前端及nodejs后端面试经验

目录

  • 前端
    • 双向绑定如何实现
    • 自定义指令如何实现
    • promise的执行顺序
    • 父子组件的信息传递
    • cookies,session,webStorage
    • vuex
    • 回流和重绘
    • 指令
    • watch和watchEffect的区别
    • watch和computed的区别
    • vue3新功能
      • Composition API
      • proxy和defineProperty
      • Teleport
    • 请求
      • post和put的区别
      • head和get
    • 前端做过哪些优化
  • nodejs后端
    • cron语法
    • 确保信息不被冒用

前端

双向绑定如何实现

双向绑定是通过v-model指令来实现的。v-model指令可以将表单控件的值与Vue实例中的数据进行双向绑定。当表单控件的值发生变化时,Vue实例中对应的数据也会随之更新,反之亦然。这样就实现了数据的双向绑定。

自定义指令如何实现

全局:Vue.directive("focus",{})
局部:directives:{focus:{}}
何时使用自定义指令

promise的执行顺序

1.三种状态
Pending(待定):Promise对象初始状态为Pending(待定),表示异步操作尚未完成。

Fulfilled(已完成):当异步操作成功完成时,Promise状态变为Fulfilled(已完成),并调用then()方法中的回调函数来处理结果数据。

Rejected(已拒绝):当异步操作失败时,Promise状态变为Rejected(已拒绝),并调用catch()方法中的回调函数来处理错误信息。

父子组件的信息传递

cookies,session,webStorage

cookies:存在客户端,有两种,1.会话级的,2.持久性的,会话级的存在浏览器,不需要定时长,持久性的存在本地,需要定时长;

session:存在服务端,更安全;

webStorage:存在客户端;local永久的,session会话级的(关闭浏览器就没了)

session是通过cookies来工作的,因为一般用cookies存储会话标识符

vuex

mutation:同步
action:异步,但不能修改state

vuex和全局变量的区别:
vuex是响应式的

vuex和localStorage的区别:
localStorage存在本地,也就是磁盘里
vuex存在内存里,读取速度更快

回流和重绘

回流:比较严重,有大小属性等变化的时候导致整个页面或者部分页面重新渲染
重绘:只对某个元素的重新渲染

如何减少出现这两种情况:
减少css表达式(只要有事件就会触发计算)
减少dom操作
脱离文档流,用flex或者absolute或者fixed

指令

v-for和v-if优先级:先循环再判断,所以用template套在外面进行判断是否显示,节约时间

watch和watchEffect的区别

watch是用来检测固定的参数是否发生变化
watchEffect可以检测回调函数的所使用的响应式的依赖是否发生变化(也就是函数里用到的响应式变量)

watch和computed的区别

  1. 缓存:computed有缓存,所以只有在数据和之前不一样的时候才会执行;
    watch无缓存,所以改变这个监听的数据哪怕是没有变化,也会执行回调函数;

  2. 异步:computed不支持异步;watch支持异步监听(异步监听:也就是回调函数里有异步操作。)
    原因:
    因为computed是靠对比缓存的数据执行回调的,所以执行完函数后要存回缓存,所以不能异步;
    但是watch只要改变就能执行,不需要等上一次watch的异步结束,所以可以异步监听)

  3. watch的特殊性:
    watch可以设置immediate和deep两个参数
    immediate可以设置为true和false,表示第一次加载组件的时候会不会执行回调;
    deep表示是否开启深度监听,比如一些对象,数组等复杂数据结构,能靠deep监听具体内部数据有没有改变,比如深度监听obj,如果obj里面的某个属性变了,或者某个属性的某个属性(多层的情况)变了都会执行回调

  4. computed的特殊性:computed可以自动监听函数的依赖项是否与缓存有变化然后进行回调;

vue3新功能

Composition API

用setup代替了vue2中的data,methods等选项式api

proxy和defineProperty

Teleport

一般在弹窗的时候让弹窗绑定到body下,这样就不用考虑有多少父级、怎么设zindex了
(elementplus的模态窗的append-to-body就是用的这个)

请求

post和put的区别

如果两个put请求相同,后一个请求会把第一个请求覆盖掉;而post不会
put主要用于更新

head和get

head不含有呈现数据,而仅仅是HTTP头信息,欲判断某个资源是否存在,我们通常使用GET

前端做过哪些优化

cdn、懒加载、减少回流和重绘(减少css表达式等)、雪碧图、节流和防抖

nodejs后端

cron语法

秒 分 时 日 月 星期 年(年可以为省略)

* * 0 * * * * // 表示每天零点执行
*/30 * * * * * * // 表示每30s执行一次
* 30 0,12 * * * * // 表示每天的零点半和十二点半执行
* * 3/5 1-20 * * * // 表示每月1到20号从3点开始每个五个小时执行一次

确保信息不被冒用

简历上写做了一个消息转发,所以面试被问到了这个问题,没答上来,现在想想可能是用token?有没有懂的大哥告知一下

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

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

相关文章

RIP配置不求人:手把手教你配置RIP路由

#教育优质作者发文挑战赛# 大家好,今天给同学们介绍一下RIP基本功能相关配置 01、基本概念 RIP是一种基于距离矢量(Distance-Vector)算法的协议,它使用跳数(Hop Count)作为度量值来衡量到达目的地址的距离…

耐压40V、输出电压1.23-37V可调,适用于工控主板、TV板卡、安卓主板、车载功放电源等产品方案应用。

一、应用领域 适用于工控主板、TV板卡、安卓主板、车载功放电源等产品方案应用。 二、功能介绍 D1509是一款输入耐压40V、输出电压1.23-37V可调、输出电流最大2.0A的高效率、高精度DC-DC芯片,其输出电压有固定3.3V、5.0V和12.0V的版本,可以为客户省去…

【2024】Rancher的安装与介绍

———————————————————————————— 记录一下rancher的学习与使用过程 本部分内容包括rancher的介绍、特点、与k8s关系和部署等内容 ———————————————————————————— Rancher是什么? 简单来说,Ranc…

item_password获得淘口令真实urlAPI接口输入淘口令代码获取淘口令url

要获取淘口令真实url,首先需要注册一个Api Key和Api Secret。接下来,可以使用淘口令API接口来获取淘口令的真实url。 item_password-获得淘口令真实url 公共参数 名称类型必须描述keyString是调用key(必须以GET方式拼接在URL中)s…

BIDI的单芯双向光模块是在用哪里的?

为什么要选择BIDI光模块? BIDI光学模块最明显的优点,如SFP BIDI光学模块或SFP BIDI光学模块,可以减少光纤跳线面板上的端口数量,节省光纤布线基础设施的成本,减少布线空间,方便光纤的管理,减少…

什么是电子邮件加密?电子邮件加密有几种类型?

在当今数字时代,电子邮件已经成为人们日常生活中不可或缺的沟通工具,据相关数据统计,全球每天发送的电子邮件数以亿计,而这些邮件里面通常包含了姓名、地址、个人身份信息 (PII)、登录凭证、财务信息、法律合同、知识产权等有价值…

ssh: Could not resolve hostname xxx: Name or service not known

参考文章:https://blog.csdn.net/bewhyw/article/details/134452826 修改etc/hosts中的文件,加入所有主机的地址映射即可: vi /etc/hosts

每日一题:寻找两个正序数组的中位数(Olog(m+n))

给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 示例 1: 输入:nums1 [1,3], nums2 [2] 输出:2.00000 解释:合并数组 [1,2,3] &#xff0c…

1.Swift基础控件:TableView列表

Swift TalbeView列表的使用 一、简介 在 iOS 开发中,UITableView 是一个常用的界面组件,用于显示列表型数据。UITableView 可以展示大量数据,并支持滚动、分组、选择等功能,是开发 iOS 应用中常见的组件之一。 以下是 UITableV…

【LeetCode热题100】198. 打家劫舍(动态规划)

一.题目要求 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房…

AI智慧医疗:探索机器学习在医疗保健中的应用与进展

🧑 作者简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向的学习指导…

Physics-Informed Neural Networks (PINN)

传统的数值模拟方法通常基于有限元、有限差分或有限体积等技术,它们需要构建网格并对物理方程进行离散化处理。然而,这些方法在处理复杂的几何形状、边界条件变化或多物理场耦合等问题时可能面临挑战。此外,它们通常需要大量的计算资源和时间…

web3.0入门及学习路径

Web3是指下一代互联网的演进形式,它涉及一系列技术和理念,旨在实现去中心化、开放、透明和用户主导的互联网体验。Web3的目标是赋予用户更多的控制权和数据所有权,并通过区块链、加密货币和分布式技术来实现。 一、特点 去中心化&#xff1…

vue使用elementui组件的的对话框;使用ref

1.第一步&#xff0c;先在父组件中引用&#xff0c;设置ref的值 <el-dialog :visible.sync"dialogEditVisible"append-to-body width"1000px" title"编辑":close-on-click-modal"false"><dialog-edit v-if"dialogEditV…

【漏洞预警】Linux kernel权限提升漏洞(CVE-2024-1086)

一、漏洞概述 漏洞名称 Linux kernel权限提升漏洞 CVE ID CVE-2024-1086 漏洞类型 Use-After-Free 发现时间 2024-03-28 漏洞评分 7.8 漏洞等级 高危 攻击向量 本地 所需权限 低 利用难度 低 用户交互 无 PoC/EXP 已公开 在野利用 未知 Netfilte…

静态数码管

文章目录 前言一、静态数码管原理二、静态数码管显示1.单个数码管 奇数偶数2.显示任意四位数 0000-9999 总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 课程需要&#xff1a; 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考…

HarmonyOs开发之———容器组件使用

谢谢关注!! 前言:上一篇文章主要介绍HarmonyOS 开发之———基础组件的使用。如需了解谢谢查阅:http://t.csdnimg.cn/frBpp 一、在HarmonyOS中,不同的容器组件拥有各自的属性,用于控制布局和组件的展示方式。以下是Stack(堆栈)、Column(列)、Row(行)、Flex(弹性…

DFMEA的输入与输出——SunFMEA软件

DFMEA泛应用于产品设计阶段&#xff0c;以识别潜在的失效模式&#xff0c;评估其对系统的影响&#xff0c;并制定相应的预防措施。DFMEA的输入与输出是这一过程中至关重要的两个环节&#xff0c;它们直接决定了分析的质量与效果。今天SunFMEA软件系统和大家一起分享DFMEA的输入…

飞书API(3):Python 自动读取多维表所有分页数据的三种方法

上一小节介绍了怎么使用 Python 读取多维表的数据&#xff0c;看似可以成功获取到了所有的数据&#xff0c;但是在实际生产使用过程中&#xff0c;我们会发现&#xff0c;上一小节的代码并不能获取到所有的多维表数据&#xff0c;它只能获取一页&#xff0c;默认是第一页。因为…

C++事件聚合器

事件聚合器&#xff08;Event Aggregator&#xff09;允许不同的组件订阅和发布事件&#xff0c;而不需要知道事件的发布者和订阅者是谁&#xff0c;模块可在不直接相互引用的情况下通信&#xff0c;实现模块间的松耦合。事件聚合器常用于C#语言中&#xff0c;以下为C语言的简单…