【前端面试3+1】12 toktn验证过程、面向对象特性、webpack和vite的区别、【字符串中的第一个唯一字符】

这篇具有很好参考价值的文章主要介绍了【前端面试3+1】12 toktn验证过程、面向对象特性、webpack和vite的区别、【字符串中的第一个唯一字符】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、token验证过程

  1. 用户登录:用户提供用户名和密码进行登录。
  2. 服务器验证:服务器接收到用户提供的用户名和密码,进行验证。
  3. 生成token:如果用户名和密码验证通过,服务器会生成一个token,通常包含一些加密的信息,如用户ID、过期时间等。
  4. 返回token:服务器将生成的token返回给客户端(通常是前端应用)。
  5. 存储token:客户端通常会将token存储在本地,如LocalStorage或SessionStorage中。
  6. 发送token:客户端在每次请求需要验证的资源时,会将token发送到服务器。
  7. 验证token:服务器接收到token后,会解析token并验证其有效性,包括检查token是否过期、是否被篡改等。
  8. 授权访问:如果token验证通过,服务器会允许客户端访问请求的资源;否则,拒绝访问并返回相应的错误信息。

二、面向对象的特性有哪些?

         面向对象编程(Object-Oriented Programming,OOP)是一种常用的编程范式,其中包含了一些重要的面向对象特性,主要包括以下几点:

1.封装:

        封装是将数据(属性)和行为(方法)打包在一个单元中,并对外部隐藏对象的内部实现细节的过程。

        通过封装,对象提供了一个清晰的界面,其他对象可以通过该界面与对象进行交互,而无需了解对象内部的具体实现。

封装有助于提高代码的可维护性和安全性,同时降低了对象之间的耦合度。

2.继承:

        继承是指一个类(子类)可以继承另一个类(父类)的属性和方法,从而可以重用父类的代码,并在此基础上进行扩展。

        继承可以帮助实现代码的重用,减少重复编写代码的工作量,同时也有助于建立类之间的层次关系。

3.多态:

        多态是指同一个方法可以根据对象的不同类型表现出不同的行为。在多态中,同一个方法可以被不同的对象调用,产生不同的结果。

        多态性使得代码更加灵活,可以根据具体对象的类型来调用相应的方法,提高了代码的可扩展性和可维护性。

4.抽象:

        抽象是指将对象的共性特征提取出来,形成一个抽象类或接口,隐藏对象的具体实现细节,只展示对象的关键特征和行为

        抽象提供了对现实世界的建模方法,可以更好地理解和设计复杂系统,同时也有助于降低系统的复杂性。

三、 webpack和vite 区别

Webpack 和 Vite 都是前端构建工具,但它们在实现方式和使用场景上有一些区别:

1.Webpack:

  • Webpack 是一个功能强大的静态模块打包工具,可以将各种资源(如 JavaScript、CSS、图片等)打包成静态文件
  • Webpack 需要通过配置文件来定义打包规则,包括 entry、output、loader、plugin 等,功能非常灵活且可定制性强。
  • Webpack 适用于大型项目,可以处理复杂的构建需求,支持代码分割、懒加载、热更新等功能。

2.Vite:

  • Vite 是一个基于 ES Modules 的现代化前端构建工具,旨在提供快速的开发体验。
  • Vite 使用原生 ES Module 的方式加载模块,不需要提前将代码打包成静态文件,而是在浏览器端实时编译和加载模块
  • Vite 支持热更新,开发模式下可以实现秒级的冷启动,提供了快速的开发环境和高效的开发体验。
  • Vite 更适合于小型项目或快速原型开发,对于现代化的前端框架(如 Vue 3、React)有更好的支持

        Webpack 更适合处理复杂的构建需求和大型项目,而 Vite 则更适合快速开发和轻量级项目,提供了更快的开发体验。

四、 【算法】字符串中的第一个唯一字符

1、题目:

        给定一个字符串 s ,找到 它的第一个不重复的字符,并返回它的索引 。如果不存在,则返回 -1 。
【前端面试3+1】12 toktn验证过程、面向对象特性、webpack和vite的区别、【字符串中的第一个唯一字符】,前端面试3+1,面试,职场和发展,算法,八股文,前端,leetcode文章来源地址https://www.toymoban.com/news/detail-854998.html

int firstUniqChar(char* s) {
   }

2、解题:  

int firstUniqChar(char* s) {
    int count[26] = {0}; // 用于记录每个字母出现的次数
    int len = strlen(s);
    
    // 第一次遍历,统计每个字母出现的次数
    for (int i = 0; i < len; i++) {
        count[s[i] - 'a']++;
    }
    
    // 第二次遍历,找到第一个出现次数为1的字母,返回其索引
    for (int i = 0; i < len; i++) {
        if (count[s[i] - 'a'] == 1) {
            return i;
        }
    }
    
    return -1; // 未找到不重复字符,返回-1
}

到了这里,关于【前端面试3+1】12 toktn验证过程、面向对象特性、webpack和vite的区别、【字符串中的第一个唯一字符】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 面向对象三大特性之一——継承(上篇)

    目录 前文 一.什么是継承? 1.1 継承的定义 1.2 継承的格式 1.2.1 継承的使用格式 1.2.2 継承关系和访问限定符 二,基类和派生类对象复制转换 三,継承中的作用域 四,派生类/子类中的默认成员函数 六,継承与友元  六,継承与静态成员 总结 本篇文章主要是详解面向对象三大

    2024年02月03日
    浏览(11)
  • 【面向对象语言三大特性之 “多态”】

    目录  1. 多态的概念 1.1 概念 2. 多态的定义及实现 2.1多态的构成条件 2.2 虚函数  2.3虚函数的重写 2.4 C++11 override 和 final  2.5 重载、覆盖(重写)、隐藏(重定义)的对比  3. 抽象类 3.1 概念 3.2 接口继承和实现继承  4.多态的原理 4.1虚函数表  4.2多态的原理 4.3 动态绑定与静态绑定

    2023年04月17日
    浏览(17)
  • 【java】面向对象三大特性之多态

            俗话说的好,“一龙生九子,九子各不同”,这句话就蕴含了面向对象三大特性之一的多态的思想。那么多态具体有什么特点呢,就由博主来带大家梳理一下吧🤔 目录 一、什么是多态 二、重写 三、向上转型和向下转型 1、向上转型 2、向下转型 四、多态的优缺点

    2024年03月15日
    浏览(27)
  • Unity-C# (面向对象三大特性)

    传值调用和引用调用 输出:11 传值调用中形参为一个新的临时变量,赋值由实参拷贝而来,只是赋予了与实参一样的值所以在函数体内部修改并不会影响实参 输出:22 引用调用时,形参拷贝的是实参的地址,二者指向同一个堆空间,所以形参改变会对实参造成影响 输出:

    2024年04月09日
    浏览(14)
  • 设计模式学习笔记 - 面向对象 - 3.面向对象比面向过程有哪些优势?面向过程真的过时了吗?

    在过往的工作中,我发现很多人搞不清面向对象和面向过程的区别,总认为使用面向对象编程语言来开发,就是在面向面向对象编程了。而实际上,他们只是在用面向对象编程语言,编写面向过程风格的代码而已,并没有发挥面向对象编程的优势。这就相当于手握一把屠龙刀

    2024年02月22日
    浏览(13)
  • 面向对象的三大特性之继承(C++)

    概念   继承机制是面向对象编编程使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称为派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。继承是类设计层次的复用。 定

    2024年02月06日
    浏览(17)
  • 【JAVASE】面向对象程序三大特性之一( 封装)

    ✅作者简介:大家好,我是橘橙黄又青,一个想要与大家共同进步的男人😉😉n 🍎个人主页:再无B~U~G-CSDN博客 目标: 1.包的使用 2.static的使用 3. 代码块概念以及分类 面向对象程序三大特性:封装、继承、多态 。而类和对象阶段,主要研究的就是封装特性。何为

    2024年04月17日
    浏览(10)
  • 【javaSE】 面向对象程序三大特性之继承

    目录 为什么需要继承 继承的概念 继承的语法 注意事项  父类成员访问 子类中访问父类的成员变量 子类和父类不存在同名成员变量 子类和父类成员变量同名 访问原则 子类中访问父类的成员方法 成员方法名字不同 总结: 成员方法名字相同 总结: super 注意事项 子类

    2024年02月14日
    浏览(9)
  • Java面向对象03——三大特性之继承

    继承就是 Java 允许我们用 extends ,让一个类与另一个类建立起一种父子关系; 被继承的类称为父类(基类、超类),继承父类的类都称为子类(派生类), 当子类继承父类后,就可以直接使用父类公共的属性和方法了 当子类继承父类后,就可以直接使用父类公共的属

    2024年04月27日
    浏览(5)
  • Python教程(21)——面向对象编程的三大特性

    在Python中,面向对象编程是一种核心的编程思想。Python被称为“一切皆对象”的语言,因为在Python中,几乎所有的数据都被视为对象。这包括数字、字符串、列表、函数等基本类型,还有自定义的类和对象。 Python中的面向对象编程提供了类(Class)来创建对象(Object)。类是

    2024年02月03日
    浏览(10)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包