前端八股
HTMLCSSJavaScriptTypeScript1. JavaScript中有哪些数据类型?TypeScript比其多了什么,简单介绍一下各种类型.JavaScript中总共有8中数据类型,包括7个 框架网络工程化1. 简述一下webpack原理浏览器1. 请讲述一下浏览器的渲染原理Node.js数据结构和算法操作系统
面试准备25-2-19
自我介绍面试官你好,我叫马嘉路,目前电子科技大学大三在读,学习物联网工程和金融学双学位。此前在四川品忆科技有限公司有过一段为期两个月的实习,参与了基于Flutter的“力喵软件”项目。目前,我正在独立开发“学习岛”项目,负责前端后端和数据库全栈开发,涵盖了小程序,商家管理后台和Node服务器等部分。我的主要技术栈是Vue3,对项目部署有一定的了解。 前端开发技术 你提到你熟练掌握Vue3全家桶,能否详细讲一下你在Vue3项目中使用的技术和设计模式? Vue3: 核心框架,负责构建用户界面(UI)和管理应用状态 Vue Router: 路由管理工具,用于处理不同页面之间导航 Pinia: 状态管理库 Vite: 项目构建工具 Vue Test Utils:...
TypeScript
简介TypeScript由微软开发,是基于JavaScript的一个扩展语言. TypeScript包含了JavaScript的所有内容,即TypeScript是JavaScript的超集 TypeScript增加了: 静态类型检查,接口,泛型等很多现代开发特性,因此更加适合大型项目的开发. TypeScript需要编译为JavaScript,然后才能在浏览器或其他JavaScript运行环境运行. 为何需要TypeScript JavaScript当年诞生的时候定位是浏览器的脚本语言,用于在网页中嵌入一些简单的逻辑 JavaScript的困扰 不清不楚的数据类型 12let welcome = 'hello'welcome() // TypeError: welcome is not a function 有漏洞的逻辑 1234567const str = Date.now() % 2 ? '奇数' : '偶数'if (str !== '奇数') { ...
服务器部署
网站运行机制名词解释域名 www.baidu.com www.taobao.com www.qq.com 域名俗称网址,是由一串用点分隔的名字组成,用于标识互联网上的计算机. 原本用于标识互联网上计算机使用的是IP地址,但是由于IP地址不便于记忆,所以人们设计出比较容易记忆的域名,然后,通过DNS服务器将域名和IP地址关联,这样人们便可以通过记忆域名直接访问到对应的计算机. DNS服务器 DNS(Domain Name System),可以理解为互联网上的一项服务,他可以将域名转换为其对应的IP地址 可以将其理解为字典,字典中存储的就是域名和IP地址一一对应的键值对. 本地host文件 windows: C:\windows\system32\drivers\etc\hosts mac:...
操作系统
操作系统的概念,功能操作系统的概念(定义)操作系统(Operating System, OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配;以提供给用户和其他软件方便的接口环境;它是计算机中最基本的系统软件 提供的功能 处理机(CPU)管理 存储器(内存)管理 文件管理 设备管理 目标向上层提供方便易用的方式 GUI 联机命令接口(交互式命令接口) 脱机命令接口(批处理命令接口),文件后缀为.bat 程序接口: 可以在程序中进行系统调用来使用程序接口.普通用户不能直接使用程序接口,只能通过程序代码间接调用 系统调用=广义指令 操作系统的特征并发并发:...
Vue3.js
Vue3的重大变化 12345678910111213141516import { ref } from "vue";export default { setup() { // console.log('所有生命周期钩子函数之前调用') // console.log(this); this -> undefined let count = ref(0); const increase = () => { // 不具有响应式 count.value++; }; return { count, increase } ...
深入解析Promise
Promise 概述Promise规范Promise是一套专门处理异步场景的规范,它能够有效的避免回调地狱的产生,使异步代码更加清晰,简洁,统一 这套规范最早诞生于前端社区,规范名称为Promise A+ 该规范出现后,立即得到很多开发者的响应. Promise A+规定 所有的异步场景,都可以看作是一个任务,每个异步任务,在JS中应该表现为一个对象,该对象称之为Promise对象,也叫做任务对象 每个任务对象,都应该有两个阶段,三个状态 根据常理,他们之间存在以下逻辑: 任务总是从未决阶段变到已决阶段,==无法逆行== 任务总是从挂起状态变到完成或失败状态,==无法逆行== 时间不能倒流,历史不可改写,任务一旦完成或失败,状态就固定下来,永远无法改变. 挂起->完成称之为resolve;挂起->失败称之为reject.任务完成时,可能有一个相关数据;任务失败时,可能有一个失败原因. 可以针对任务进行后续处理,针对完成状态的后续处理称之为onFulfilled,针对失败的后续处理称之为onRejected Promise...
关于Vue2中使用devtoolsV6的bug
前言最近在学习Vue2项目使用devtools时,需要安装legacy版本V5或V6,安装好插件后,插件能够正常检测,但是开发者工具面板就没有Vue选项卡. 原因估计是Vue devtools的V6插件的BUG 解决方法关闭所有其他浏览器扩展,只打开Vue devtools 扩展才行
Nodejs
node概述特点单线程所以可以快速I/O操作. 用途 开发桌面应用程序 开发服务器应用程序 全局对象 setTimeout setInterval 注意这两者在浏览器中返回的是==数字==,但是在node中返回的是==对象== setImmediate: 类似于setTimeout(()=>{},0) console __dirname: 当前文件的目录,注意,该属性并不是global里面的属性 __filename: 获取当前文件的路径,该属性并不是global里面的属性 Buffer: 类型化数组,继承自UInt8Array process: cwd(): 输出当前终端(命令行)所在目录 exit(): 强制退出当前node进程,可以传入一个退出状态码,默认为0,表示没有错误. argv: 获取执行命令时的所有命令行参数 platform: 获取当前的操作系统 kill(pid): 杀死进程 env: 获取环境变量 node的模块化细节模块的查找 绝对路径: 直接导入 相对路径:...
包管理器
本门课程前置知识: JavaScript, ES6, 模块化, git本门课程的所有代码均书写在 node 环境中,不涉及浏览器环境. 概述概念模块(module)通常以单个文件形式存在的功能片段,入口文件通常称为入口模块或主模块 库(library, 简称 lib)以一个或多个模块组成的完整个功能块, 为开发中某一方面的问题提供完整的解决方案 包(package)包含元数据的库,这些元数据包括: 名称, 描述, git主页, 许可证协议, 作者,...