【2023秋招面经】20220713兴业数金前端一面

这篇博客是作者2023年秋季招聘期间,关于兴业数金前端一面的面试经验分享。面试涵盖了自我介绍、Vue.js的学习动机、双向数据绑定原理及优缺点、问题排查、防抖与节流概念、Webpack优化策略、CSS布局技巧、Promise处理、组件化、微任务与宏任务等前端核心知识点。文章还提及了良好的编码习惯、Promise的race和all区别、菜单权限实现和登录中的token存储等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

本系列主要整理博主2023秋招的面试情况。本节介绍20220713兴业数金前端一面。


1. 自我介绍

2. 为什么要学习vue?

答:首先因为vue是当前前端较为流行的框架,使用vue的公司较多,也证明了这是一个非常成功的框架;第二是因为这个框架是国人编写的,简单易学,上手较快;第三因为这个框架使用了双向数据绑定,数据和视图的交互更加方便;最后因为它含有组件化、视图数据结构分离、虚拟DOM、运行速度快等特点。

3. 双向数据绑定和单向数据绑定的区别,以及双向数据绑定的优缺点?

答:双向数据绑定就是当我们采用MV模式时,就是模型-视图模式时,通常,我们需要编写代码,将从服务器获取的数据进行“渲染”,展现到视图上。每当数据有变更时,我们会再次进行渲染,从而更新视图,使得视图与数据保持一致。而另一方面,页面也会通过用户的交互,产生状态、数据的变化,这个时候,我们则编写代码,将视图对数据的更新同步到数据,以致于同步到后台服务器。而单向数据绑定只有模型----->视图的一个方向的数据传递。

双向数据绑定的优缺点:

①优点:用户在视图上的修改会自动同步到数据模型中去,数据模型中值的变化也会立刻同步到视图中去;无需进行和单向数据绑定的那些相关操作,会简化大量业务无关的代码。

②缺点:增加了出错时的debug的难度、消耗较大,部署很大网站的时候会出现问题。

4. 双向数据绑定报错的话要怎么寻找问题?

答:可以打开开发者模式,会有相应的报错,比如props不存在、期待一个Object你传入了一个Array之类的,可以直接从报错中找到。

5. 解释一下防抖和节流?

  • 防抖:前面的所有的触发都被取消,最后一次执行在规定的时间之后才会触发,也就是说如果连续快速的触发,只会执行最后一次
  • 节流:在规定的间隔时间范围内不会重复触发回调,只有大于这个时间间隔才会触发回调,把频繁触发变为少量触发

6. 项目用什么打包的?

答:webpack。

7. 说一下webpack里做了哪些前端优化?

  • 压缩代码:删除多余的代码、注释、简化代码的写法等等⽅式。可以利⽤webpack的 UglifyJsPlugin 和 ParallelUglifyPlugin 来压缩JS⽂件, 利⽤ cssnano (css-loader?minimize)来压缩css
  • 利⽤CDN加速: 在构建过程中,将引⽤的静态资源路径修改为CDN上对应的路径。可以利⽤webpack对于 output 参数和各loader的 publicPath 参数来修改资源路径
  • Tree Shaking: 将代码中永远不会⾛到的⽚段删除掉。可以通过在启动webpack时追加参数 --optimize-minimize 来实现
  • Code Splitting: 将代码按路由维度或者组件分块(chunk),这样做到按需加载,同时可以充分利⽤浏览器缓存
  • 提取公共第三⽅库: SplitChunksPlugin插件来进⾏公共模块抽取,利⽤浏览器缓存可以⻓期缓存这些⽆需频繁变动的公共代码

8. 对一个绝对定位的盒子怎么水平垂直居中?

①绝对定位+margin:auto ②绝对定位+margin负值 ③绝对定位+translate

9. 隐藏元素的方法?

(1)dispaly:none 消失+重排+重绘+绑定事件不触发+无过渡;

(2)visibility:hidden 存在+不重排+重绘+绑定事件不触发+有过渡;

(3)opacity:0 存在+不重排+不一定重绘+触发自身绑定+有过渡;

(4)position:absolute 移除视线;

(5)z-index:负值 使用其他元素遮盖;

(6)transform:scale(0,0) 缩放元素为0 存在+绑定事件不触发。

10. Promise().then()返回的也是Promise对象,要怎么判断这个Promise对象的状态?

let p1 = new Promise(function(){
   
   })
let p2 = p1.then((resolve,reject)=>{
   
   })
  • 如果p1的状态的pending,那么p2的状态也是pending;

  • 如果p1的状态的resolved,then会执行resolve,那么p2的状态由resolve的返回值决定;

    • 如果resolve()的返回值不是一个prom
### 据分析方向面试经验 #### 准备阶段 对于希望进入据分析领域工作的求职者来说,充分准备是成功的关键。利用在线资源和技术平台来提升技能至关重要。推荐使用 LeetCode 和 牛客网这样的面试题库与练习平台,这些网站提供了丰富的据科学题目以及算法挑战[^2]。 除了编程能力外,理解计算机网络的基础也是必要的,特别是 OSI 七层模型和 TCP/IP 协议栈的工作原理及其应用场景,这有助于处理实际工作中遇到的据传输问题[^4]。 #### 技术谈要点 在技术面试环节中,通常会考察候选人对统计学、机器学习基础知识的理解程度;SQL 查询语句编写熟练度;Python 或 R 编程技巧;还有就是如何运用 Pandas, Numpy 等常用库来进行高效的据操作。此外,能够清晰表达自己的思路并展示解决问题的能力同样重要。 #### 行为谈建议 行为类问题旨在评估候选人的软实力,比如团队合作精神、沟通能力和解决冲突的方法等。提前准备好 STAR 法则(Situation, Task, Action, Result)的故事框架可以帮助更好地应对这类提问方式。 #### 实战演练 为了增加实战感,可以参加由第三方机构提供的模拟面试服务或是加入专业的交流社群,在那里可以获得来自前辈们的宝贵意见和支持。同时也可以考虑接受职业咨询服务,它们往往拥有行业内的人脉关系网,可以通过内部推荐渠道获得更多的机会[^1]。 ```python import pandas as pd from sklearn.model_selection import train_test_split # 假设有一个CSV文件名为"data.csv" data = pd.read_csv('data.csv') # 对据集做一些基本预处理工作 X_train, X_test, y_train, y_test = train_test_split(data.drop(columns=['target']), data['target'], test_size=0.3) print("训练集大小:", len(X_train)) print("测试集大小:", len(X_test)) ```
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值