一面:
对react的掌握程度:
react是有组件组成的,一个组件是UI的一部分,拥有自己的逻辑和外观。react组件返回标签是js函数。组件必须以大写字母开头,html标签必须是小写字母。使用JSX编写标签,比html更加严格,必须闭合。
以use开头的函数被称为Hook,useState是React提供的一个内置Hook ,比普通函数更为严格,只能在你组件或其他Hook的顶层调用Hook
useContext跨组件共享状态
SPA单页面路由导航
vue2和vue3哪个更熟一点
v-model的原理是什么,
是vue.js的一个语法糖,用于在表单输入元素或组件上实现双向数据绑定,本质是通过结合v-bind 和v-on实现数据与视图的同步。默认将value作为prop,input作为事件。
vue2只支持单个v-model 而vue3支持多个v-model绑定
vue响应式原理
是基于数据劫持和依赖收集
数据劫持(Object.defineProperty或Proxy) 通过拦截对象属性的读写操作。
Object.defineProperty是Vue2对每个属性设置getter依赖收集/setter触发更新
proxy直接代理整个对象,支持动态新增属性监听,按需拦截动态属性更底
多次数据修改合并为一次更新,,通过nextTick延迟到微任务队列执行
上段实习的技术亮点和做了什
elementplus按需导入组件怎么实现,
Element Plus提供了基于unplugin-vue-components和unplugin-auto-import的自动导入,无需手动导入组件和样式
用npm安装,然后再Vite配置中修改vite.config.ts,如果是webpack中修改config.js。
手动按需导入:可以安装babel-plugin-import, 修改相应配置文件
在项目入口文件中main.ts/main.js中导入全局样式
let const var 区别*2
var是函数作用域,let和const是块级作用域,var在函数内部声明是仅在该函数内有效,let和const在{}块内有效。
var存在变量提升,声明前访问值为undefined,let和const无变量提升,在声明前访问会抛出referenceError
var允许重复声明同一变量,let和从身体不允许在同一作用域内重复声明
var和let声明后可重复赋值,const声明后必须初始化并不能重新赋值(但在对象或数组内部属性可修改)
.for(let i=0;i<10;i++){console.log(i)}与for(var i=0;i<10;i++){console.log(i)}的区别,为什么
let定义的变量i具有块级作用域,仅在for循环的代码块内有效,循环结束后i不可访问,
var定义的变量i具有函数或全局作用域,循环结束后仍可以访问i,var存在变量提升,会被提升到作用域顶部,但赋值保留在原位
let在声明前访问会报错。
vue2和vue3的区别
vue2使用object.defineProperty实现响应式,只能劫持对象属性,选项式api v-model只能绑定一个
vue3使用Proxy代理整个对象,支持动态新增/删除属性 组合式api v-model可绑定多个值。vue3用TypeScript编写的。
生命周期的变化:vue3将 beforeDestroy和destroyed更名为beforeUnmount和unmounted 新增setup作为组合式API入口。
router模式有什么,区别是什么
核心模式有Hash模式和History模式
Hash模式:路由通过URL的#标识 兼容性强,支持老旧浏览器,#后的变化不会触发页面刷新。美观性差,无法利用HTTP请求字段,影响SEO
History模式:无#,美观对SEO友好,需要服务器支持,否则刷新页面会导致404错误,需配置重定向,兼容性较差,需额外部署服务器 IE10+
router跳转方式有几种
编程式导航:使用router.push方法进行跳转,参数式路径字符串或地址对象
声明式导航:使用<router-link> 组件 通过to属性指定地址
替换当前路由:router.replace方法替换当前路由
重定向路由:redirect属性实现重定向
命名路由跳转:配合params传递参数 router.push()里加params
路由历史操作,router.go(-1) /1后退或前进
vue2的mixin有了解吗,vue3中有什么类似的实现
webpack和vite配置的区别 它们新项目和老项目都有
在开发环境中,webpack是先打包再启动开发服务器的,而vite是直接启动,然后再按需编译依赖文件,这意味着当使用webpack时,所有的模块都需要再开发前进行打包,着会增加启动时间和构建时间。而Vite会在请求时再进行实时编译,这种按需动态编译的模式极大地缩短了编译时间。 在Sources中看到按需编译的源文件
v-if 和v-show的区别
大量数据请求怎么处理
elementui怎么维护数据项
说一下nextTick,说一下异步
promise 和async await一般是用来干什么的
项目中使用的工具,vant router pinia vuex git gitee
简历项目要搞清楚!!!
vue的生命周期,
浅拷贝和深拷贝
css选择器有哪些
给你一个项目怎样快速上手,
git基本操作