二组!!!(二号)

1.tcp几次握手和tcp和udp的区别

tcp的三次握手与四次挥手

第一次握手浏览器向服务器发送连接请求

第二次服务器同意了连接请求并对浏览器发送连接请求

第三次握手浏览器对服务器说我也同意连接

tcp和udp的区别

 1.速度udp更快,tcp传输时需要先建立连接,udp是无连接传送

2.安全方面udp安全性更高,不容易被攻击

3.连接对象数量的区别tcp是一对一,udp是一对多

2.数据七层模型

 

3.导致内存泄漏

1.全局变量

2.闭包 

插入闭包的优缺点

优点:

        1.暂存变量

        2.避免全局变量的污染

        3.加强封装性

缺点:

        1.内存泄露

被另一个作用域引用所以不会回收

4.for in和for of的区别

for in 大多数用来循环对象

 for of只能循环数组

for of 只能循环有迭代器的

5.路由

vue 相关面试题(路由)_vue路由面试题_「槿玥」的博客-CSDN博客

6.循环引用

 JWT面试题-CSDN博客

7. vue的数据流

vue是单向数据流也就是父传子子是可读不能再子元素修改props中的数据

8.vue2解除双向绑定

写在data外,data是个函数为了是每个data区别开

重写object.definepropty的 set和get

9.keep-alive的理解

面试官:说说你对keep-alive的理解是什么?怎么缓存当前的组件?缓存后怎么更新?_故心v的博客-CSDN博客

10,美的2023/3/17

 自我介绍

.....
怎么学习的前端

.....
vue2和3区别

      1.首先vue3为组合式api,vue2为选项式式api具体用法上vue3大部分需要引用

        2.生命周期不同,setup生命周期无this

        3.数据存放不同,vue2放到data里面vue3放到生命周期里面

        4.下响应式原理不同


composition api好处

1.传统选项式api修改一个需要在data,methods,compute全改,而选项式则不需要

2.可以让代码更整洁,都封装到一个里面了
响应式原理

vue2是使用Object。defindpropty()的set和get给每个属性进行监听,但无法监控数组下标

        通过的是发布订阅者模式

vue3 基本数据类型也就是ref 但是relative使用porxy监听整个对象,映射到对象上
diff算法

        首先我认识到这个算法中实在v-for需要加key,这就是用到diff算法提高性能,具体来说,diff算法用来比较新旧的虚拟dom里更新新的dom, 

        除了根据key渲染可以提高效率,还可以解决个问题,diff里面有个算法判断节点是否相同,比较的是名字,和key值,如果未设置key默认undefined这时候如果一个数组v-for删除中间下面默认补上,因为节点相同,使用key判断不相同了,但如果使用的是index的话删除这种还是有问题因为key会变,但是渲染速度还是会上升引文根据key渲染

详细讲解Vue中为什么要使用key_vue为什么使用key_飞翔的柠檬的博客-CSDN博客
怎样判断一个树是二叉树

......
web漏洞 xss csrf

   xss是指跨站脚本攻击,就是在目标网站上注入脚本,窃取一些信息。本质用户提交代码渲染到了html上,浏览器无法分辨是不是恶意脚本直接运行出问题了

        来源一般为用户输入,危害就是可以窃取敏感信息

        xss攻击分为三类存储型,反射型,和dom型,前两种属于是服务器端漏洞,第一个是数据库,第二个是url,dom型是前端js代码漏洞

        防御就是减少innnerHTML,内存泄漏等等

        扫描工具w3af等

        csrf(跨站请求伪造)装作是受害者发起攻击

        web 安全 XSS与CSRF_19岁的墨先生的博客-CSDN博客

        同源检测
反问
总共20分钟。

2023/3/19 

面(3.9)

1.类型判断

基本数据,引用,堆,栈,基本typeof,引用instateof,constucter,Object。prototype。同string。call ,判断数组我也会用Arry。isarray

2.引用传递和值传递

直接赋值,引用类型就是引用传递,基本类型就是值传递

3.箭头函数特点

减少作用域,整体简洁

无argumens有rest

不能new

this指向

4.ESModule和CommonJS区别,追问了import为什么不能用在块级作用域中(因为ESModule是静态编译,会提前加载并执行模块)

commonjs module。exports,exports导出的,require导入

es模块 export 和import

commonjs运行时加载依赖

es编译时加载模块

es可以单独加载某个接口

5.vue2和vue3的区别

组合式响应式

生命周期

响应式

6.store状态管理,用过什么状态管理库

vuex,pinia

vuex有state getter mution action modle

。。。7.computed和watch区别,应用场景
computed:是计算属性,并且computed的值具有缓存,只有他依赖的属性发生变化,下一次获取computed的值才会重新计算属性的值。

适用场景:当我们需要进行计算,并且依赖其他数据时,应该使用computed,可以利用computed的缓存特性,避免每次获取值时都要重新计算(购物车计算价格的案例)。

watch:(侦听器)没有缓存性,更多的是观察的作用,可以监听某些数据执行回调。当我们需要深度监听对象中的属性时,可以打开deep:true选项,这样便会对对象中的每一项进行监听。一个数据影响多个数据。

使用场景:在数据变化时执行异步或者开销较大的操作时,应该使用watch。 watch允许异步操作 (比如:浏览器自适应、监控路由对象、监控自身属性变化)。

8.跨域,怎样解决跨域

跨域浏览器端不允许非同源访问

jsonp 动态申请script标签

cors 服务器端设置允许访问的地址,如设置成*

可以允许所有访问

反向代理,用另外一个代理服务器用porxy 设置vue.config.json

。。。。9.请求头响应头里边有哪些信息 
https://blog.csdn.net/weixin_44422604/article/details/108401403
。。。10.浏览器缓存,last-modified缺陷,etag缺陷,这个是由我上个问题回答的cache-control引到的

。。。11.http和hppts区别,ssl/TLS加密原理

12.怎样实现垂直水平居中

1。弹性盒子,父flex

子just-county center

aline-items center

相对定位50% 50%

在用css3新增的transform translate -50%-50%

13.两栏布局实现

1.两元素左浮动,右100%

1.两元素左浮动,左设置margrn 右百分百

1.右侧元素百分百,左侧定位

1.父级弹性盒子,左侧宽度固定,右侧flex1

14.简单算法题:怎样获取单链表的倒数第n个值

遍历值,剪

15.有哪些前端性能优化方法,这里提到了了图片懒加载,细问了如何实现懒加载,答了自定义指针以及相关步骤

16.git工作流,这里问的比较细,问到了一些业务场景

加二

 keep-alive

内置<keep-alive>包裹上自动保存组件, 

虚拟DOM到底是如何提升性能的?(问的很详细,最好能列举出真实DOM,虚拟DOM的操作行为例子)
减少重绘回流次数
比如向一个<ui>列表添加5个<li>,如果直接操作真实DOM,那么浏览器需要经历5次回流;

但使用虚拟DOM在更新完后再异步批量更新真实DOM,一次性插入5个,浏览器只需要经历一次回流。

2.diff算法可以尝试对DOM进行复用,可以减少一些可能的DOM操作

虚拟DOM未必一定能提升性能,需要分情况讨论:

小量数据更新: 当页面的渲染数据高达几万条,但只需要修改某一条数据时,Virtual DOM的Diff比对算法,能够避免不必要的DOM操作,节省开销
大量数据更新: 当页面的渲染数据高达几万条, 但是更新的数据却非常大,甚至全量更新,Virtual DOM无法进行优化, 加剧了性能的浪费
给一个二维平面点坐标的集合,如(2,3)(4,5),将这些点依次按顺序连线,判断最后连成的图形是否是一个三角形
我的思路:

判断第一个点和最后一个点是否相同,若不同则直接返回false(首尾不相连)。
维护一组直线方程参数ABC,分别对应Ax+By+C=0。遍历点集,根据当前点和下一个点计算一组ABC并和之前的ABC比较是否全等,若全等则代表当前点和前后两个点共线,否则代表当前点是一个拐点,同时将ABC更新为新计算出的ABC。
遍历完成后检查是否一共恰好有3组不同的ABC(分别代表三角形的三条边的直线方程参数),若是则返回true,否则返回false
面试官说思路可以,但实操起来不太可行,但我自己琢磨也不是很难实现啊...

关于上面的问题,欢迎各位在评论区多多指教~

2023/3/22

2.做过小程序吗

3.盒子模型、怪异、标准、具体说

     标准

        怪异

        over

        计算

4.CSS布局、实现垂直居中,为什么能实现等等、transform、区别

                定位+trans

                 弹性+jus alin

                        

5.JS数据类型 具体说

        基本

        引用

6.let var const 手写题回答输出

                

7.声明提升、函数声明提升、变量声明提升、谁的优先级高 手写题目回答输出

。。。8.原型链以及手写题目回答原型链查找过程

                正常说

                三者关系

                指向

9.作用域、作用域链

        预解析

        作用域分类

        闭包

        作用域链一层一层父级

10.闭包、闭包的原理、为什么

               调用父级

                好处

                坏处

11.谈谈事件委托

                多次点击target委托父级

12.。。。手写实现Array.reduce

                箭头函数不加大括号没有return

                加了大括号必须有return

13.。。。手写实现Array.filter

14.。。。不引入第三个变量的情况下交换a、b的值

                       a=a+b

                        b=a-b

                         a=a-b

 2023/3/22

项目难点

        响应式布局

        跨域

虚拟列表的实现

。。。有用到防抖吗?说一下实现思路,还有节流

        定义变量

        清除定时器

        返回定时器

节流

        定义变量

        判断变量无值执行定时器变量赋值

axios封装

        官网上有封装样式不封装的话写在main里面那些挂在原型基本baseurl等封装后可直接写,封装还封装,拦截器token,获取值

vue的响应式原理,vue2,vue3的区别

        Object.defineProperty,proxy

vue生命周期,在哪个阶段可以获取dom

        mounted

。。。路由的两种模式,区别

        

浏览器缓存,http缓存

        强缓存,协商缓存

移动端的适配思路,em,rem的区别

        rem根级,em父级

前端工程化

        

。。。Vite和webpack的打包流程

        。。。tree-shaking

闭包,以及使用场景

        封装变量

eventloop

        settime,scripet

        微promise回调

        async

        同步,异步,微宏,宏开始

js数据类型

        基本引用

j。。。s的gc

。。。websocket的握手过程

。。。nexttick

 .....................................................

 2023/3/24

3.17 一面(50min)
主要是前端八股文的内容
1. 自我介绍
2. js中的闭包问题

        闭包概念是什么

        闭包的好处

        延长生命周期。。。为什么

        闭包的坏处

        造成内存泄露
3. js原型链

        三者关系
4.。。。 手写防抖函数与节流函数
5. 代码题 promise应用

        promise
6. flex布局,实现水平垂直居中

        just-county

        aline-items
7. 。。。实现一个todoList
一面的面试官,网络环境比较差,中间掉了几次线,不过整体下来感觉还好。

3.21 二面(45min)
1. 自我介绍
2. 。。。项目中涉及到组件的开发,问了对于开发高效公共组件的理解
3.。。。 前端登录鉴权的方案,主要答了JWT和token(太紧张了,忘记OSS和第三方平台的方案)
4. 高阶组件的实现,以及如何用vue实现高阶组件。(这部分答的稀烂,对高阶组件不太熟悉)
5. 。。。代码题, 实现多个接口并发请求,按顺序返回结果。(写的时候,没注意并发请求,后续面试官提醒了,但忽然不知道怎么并发了,下来才看见自己写的代码,改一行就实现了)
6. 对微前端、小程序的理解
7. 小组介绍,我面的部门是小程序与运营中心
感觉二面答的很差,希望写完面经能有好运!!!

2023/04/03 中科星图yx

。。。2.对vue-router的理解

hash 历史

hash #

访问404 历史发请求

hash不发请求

跳转 route-link

 this.$router.push()

 this.$router.replace()

 this.$router.go()

传参

声明式router-link

        this。router。push()

        query 拼接url后

:to={name/path,query}

        parames

        铺设({name,parmes})

路由守卫

        全局

        路由独享

        组件守卫

        beforeEnter、 beforeLeave

        to from next、

配置

        path

        组件

        子路由

         路径

3.说一下响应式原理、

        vue2 ob vue3 porxy

4.说一下vue生命周期

        4+1keep-alive

5.用过哪些UI框架

        element ui arco desesign

.。。。6.说说flex布局

        移动端常

        flex

        居中,两栏、

        主轴

        垂直轴

  flex-warp

        flex -direction

        just-county

        aline-items
           弹性元素 shink grow

7.vuex的理解

        单向数据流的状态管理器,组件通信

8.ES6新特性

        let const 

        ()=》{}

        【。。。】

        promose

9.promise.race 第一个和promise.all全部成功和promise.any有一个就行

        

10.如何实现页面自适应(pad phone pc端)

        %

        vh/vw

        rem/em

11.对兼容性的处理

12.父子组件通信的方式有哪些

        基本/全局/vuex

ref 和 reactive

        vue2/vue3

。。。组件如何封装

路由导航

深拷贝

3.1json,自写,插件

数组去重

map,对象

include判断

set()

 用css让一个,至少说三种方法

定位+平移

弹性盒子

自己margren 0 auto

2. css的盒模型

        pc

        标准怪异,doctype

3. js处理数组的方法有哪些,至少说5个

          reverse()

        pop,push,unshift ,shift,find,foreach ,map,fitter,reduce,join,sort,concat,splice,slice,some,every ,tostring

。。。4. js的Date时间类型是什么类型 字符串类型和倒叙类型哪个用的更多

                对象,todatestring()转字符串

                深拷贝

        var date1 = new Date(2021, 2, 10);
        var date2 = new Date(date1);
        date2.setDate(11);
        console.log(date1.getDate()); // 输出10
        console.log(date2.getDate()); // 输出11

。。。。。。。5. less和sass样式用过吗 具体怎么使用的 全局公共样式用过吗 怎么定义的样式变量?

。。。6. 说一下事件委托和具体应用场景

                利用冒泡机制将事件触发绑定在父元素上,减少事件发生,通过target寻找事件源,比如点击li

。。。7. Echarts的图表用过哪些? 都有什么属性? 怎么分类型分数据的显示

                图表库,

9. 怎么解决跨域?

       jsonp

        cors

        反向服务器代理

11. git常用的指令有哪些?

        git clone

        git stasus

        git add。

        git push

        git pull

        git branch

        git chekout [fz

        git chekout -b [fz

。。。12. 之前用过蓝湖吗?

。。。13. 一些项目的问题,登录模块怎么实现的,token怎么处理的,权限分配怎么实现的,

        路由守卫判断权限

。。。14. 一个需求: 比如页面有一个智能表单,里面有单选框、复选框、多选框、下拉框、文本输入框等等,怎么在表单获取对应的数据,然后将数据存到后端,再在新的页面展示用户提交表单的内容,并且每个用户的输入信息不同,怎么区分每个用户输入并提交的数据的不同,大概说一下具体的思路。

面试总结:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

河马河马大河马

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值