前端测开求职面经记录(24.3-24.4)

前端测开求职面经01

这个笔记主要记录了最近的一些面经和自己搜集的答案用于复习

24.4.2 蚂蚁/测开

作者:qiummiao 链接:https://www.nowcoder.com/interview/center?entranceType=导航栏 来源:牛客网

1. 自我介绍

2. 客户端发版流程

  • 产品出需求(包括新功能,技术优化,视觉优化,问题解决,架构调整、埋点,性能等。
  • 需求排期,时间点预估(开发、提测时间点、各分支合版时间、测试完成beta版本、release版本)
  • 需求评审,确定各个时间点(开发、产品、测试等人员参加)
  • 开发同学Coding,测试同学编写用例
  • 用例内部评审、外部评审。评审完毕的测试用例发邮件给开发产品同学确认并自测。
  • 分支提测,各分支开始测试,改bug,发邮件同步每日进度。(测试分为新功能测试/基础功能回归两个阶段)
  • 达到合版标准,发送合版请求邮件,开始合版。
  • 合版完成,引擎版本号/SDK版本号等确认,开始稳定性测试(跑Monkey)
  • 合版后测试(新功能测试、第一次交叉测试,基础功能回归、第二次交叉测试)
  • 自由测试,封板,发送测试报告,出beta包。
  • Beta一段时间后,出release包。
  • 总结优化。

3. 项目介绍

4. 针对客户端有哪些质量保障的手段

(1)移动客户端的质量包括功能和体验两方面,需要每一个参与项目的角色借助合格的开发流程进行维护,建立稳定并在执行中不断优化的质量保障体系。

(2)从文档管理、评审机制、准入准出标准、回归测试、生产监控几个方面进行分析并谈谈自己的想法。

5. 对于用户反馈,如何应急

6. 线上逃逸率大概多少

(1)线上缺陷逃逸率 =项目发布之后所发现的线上缺陷数/这个项目总缺陷

(2)原因分析:直接原因是测试用例不全面或测试用例全面但测试执行过程存在疏漏。这些情况可能是因为需求沟通理解不到位、测试计划安排不合理、测试执行人员与设计人员之间沟通不到位、测试环境版本与生产环境有差异造成的。

(3)改进措施:测试尽早介入工作(需求阶段)、控制需求变更频次和时间、合理安排测试计划、加强测试内部团体沟通(可设计案例评审/讲解会)、加强环境和版本管理、多使用存量和特殊数据测试、适量进行破坏性测试等。

7. 如何衡量覆盖是否完全,如何提高覆盖面,技术手段,工具

提高覆盖面:删除无效、冗余代码

8. UI自动化尝试过嘛

从零搭建完整python自动化测试框架(UI自动化和接口自动化 )——持续更新-CSDN博客

结合这个博客看看好了。

9. 准出会有覆盖率的考量,评估回归和测试任务是否完整嘛

10. 接口自动化的数据如何处理

11. 装饰器

python 装饰器详解 - 知乎 (zhihu.com)

12. 深浅拷贝

(1)深拷贝:另外创造一个一模一样的对象,复制的是“值”,新对象与旧对象不共享内存。

(2)浅拷贝:只复制某个对象的指针而不复制对象本身,新旧对象仍然共享同一块内存。

13. 管理内存

14. 对安卓、ios的了解

15. 对内部的代码了解程度

16. 测试流程有哪些是可以优化的

参考链接:测试流程优化详解_批量设备测试流程优化-CSDN博客

(1)优化的手段是多样化的,流程规范去约束,开发和利用工具去辅助,都是优化方式。可以从需求、设计、测试、上线四个阶段对测试的流程优化问题进行分析

(2)① 需求:规定需求迭代周期(并进行优先级排序)、制定需求截止时间、紧急需求(影响线上)走特殊流程

​ ② 设计:产品验收UI图后再提供给开发

​ ③ 测试(详):准入规范、提测流程(邮件提测)、测试日报(进度、风险评估、高优bug/阻碍性问题反馈、解决时间)、bug规范(格式步骤、严重级别/优先级、流转规范)、测试完成标准(功能/性能/兼容性/验收测试规范、做好时间规划)、复盘

​ ④ 上线:情况跟踪、给予灰度&线上问题收集

17. 撕代码 实现最大和的子数组

53. 最大子数组和 - 力扣(LeetCode)


24.4.1 美团二面/前端

作者:团团快带我走吧 链接:链接 来源:牛客网

很幸运一面过了,今天面了二面,时间一个小时左右,自己的思考很重要

1. 讲讲vue2与vue3的区别,并且为啥会有这些区别,有什么优劣

vue2和vue3的区别整理(面试这一篇就够了)_vue3对比vue2-CSDN博客

答:源码方面,vue3使用typescript进行了重构,对typescript的支持更加友好;性能方面,使用Proxy来实现数据劫持,删除了一些api( o n , on, on,once,$off) fiter等,优化了Block tree,solt,diff 算法等;api方面,vue3将模块代码统一,vue2是配置风格,vue3是组合风格,各有特点,但可能vue3更好。

2. vue3的这些改变跟react hooks有啥对应的,或者说这些变化有什么特性

  • vue2使用mixins进行代码逻辑共享,mixins也是由一大堆options组成,如果有多个mixins则可能造成命名冲突等问题。
  • vue3可以通过hook函数 将一部分独立的逻辑抽离出去,并且也是响应式的

3. vue的响应式的具体内部实现,数据改变如何触发页面改变

快速上手 | Vue.js (vuejs.org)

(面试官说vue3文档第一页里面全部都有,包括vue3集中式API的改变,寄)
几个手写

1. promise及promise.all的实现(写了promise.all ,promise直接抱歉)

2. 数组排序的实现

(冒泡,快排这些,快排卡了三十分钟,最后一行递归忘了,好在最后想起来了)

24.4.24 腾讯一面/前端暑期实习

链接:https://www.nowcoder.com/?type=818_1

👥面试流程

1、自我介绍

2、项目介绍

基础:

3、最熟悉哪些js库?

(感觉有很多啊?就随口说了axios、echarts、lodash等等几个 没有追问)

总结100+前端优质库,让你成为前端百事通 - 知乎 (zhihu.com)

4、数值取整有哪些函数可以用?

(当时只说了parseInt 后面想想其实floor ceil都可以)

答:round()、ceil()、floor()和parseInt()取整。

① ceil() :向上取整。 ② parseInt() : 仅取整数部分。 ③ round() : 四舍五入取整。 ④ floor():向下取整

5、数组如何拼接成字符串?

答:在JavaScript中将数组拼接成字符串有两种方式。一种是Array对象提供的join()方法,另一种是Array对象提供的toString()方法

① join():用于把数组中的所有元素放入一个字符串

let arr = ['first', 'second', 'third']
console.log(arr.join()) // 'first,second,third'  默认逗号分隔
console.log(arr.join('-')) // 'first-second-third'

② toString():把数组转换为字符串,并返回结果

注意:如果数组中包含对象,那么这两种方法,无论是哪种,得到的结果都是 [object, object]

let arr = [{name: 'first'}, 'second', 'third']
console.log(arr.join()) // '[object Object],second,third'
console.log(arr.toString()) // '[object Object],second,third'

6、数组深浅拷贝

答:(1)直接等号赋值——浅拷贝

(2)深拷贝的方法:for循环、slice方法(将原数组中抽离部分出来形成一个新数组)、contact方法(用于连接多个数组组成一个新的数组的方法)ES6扩展运算符实现数组的深拷贝(…)

7、如何改变函数的作用域?

先理解一下作用域:彻底弄懂JavaScript作用域问题 - 知乎 (zhihu.com)

然后就是改变:Javascript中作用域的修改以及with语句 - 高坦的博客 - 博客园 (cnblogs.com)

这个博客写得很好!!有共鸣。

8、手写一个简单的正则表达式

如果忘记了就直接去学正则表达式 - JavaScript | MDN (mozilla.org)

9、如何实现跨域请求?解释原理

[js处理的8种跨域方法 - lcspring - 博客园 (cnblogs.com)](https://www.cnblogs.com/lcspring/p/11079754.html#:~:text=js处理的8种跨域方法 1 方法一、通过jsonp跨域 JSONP包含两部分:回调函数和数据。 回调函数:当响应到来时要放在当前页面被调用的函数。 数据:就是传入回调函数中的json数据,也就是回调函数的参数了。 … 2,(不常用) … 5 方法五、使用跨域资源共享(CORS)来跨域 … 6 方法六、使用location.hash%2Biframe来跨域(不常用) )

img

(讲了cors 反向代理 jsonp 被追问还有吗 当时没有想到其他的)

10、了解过cookie吗?cookie的作用是什么?cookie有哪些key?

Cookie的所有属性详解_cookie属性-CSDN博客

面试官:Cookies 的属性有哪些? - 掘金 (juejin.cn)

(最后这个问题不太理解 cookie存储的不是字符串吗?是想问有哪些响应头字段?)

11、解释一下XSS和CSRF

XSS学习:web攻防之XSS攻击详解——XSS简介与类型 - 知乎 (zhihu.com)

CSRF:CSRF - MDN Web 文档术语表:Web 相关术语的定义 | MDN (mozilla.org)

12、讲一下http的缓存

HTTP缓存的三种方式详解 - 掘金 (juejin.cn)

13、数据结构学得怎么样 讲一下熟悉的数据结构

(当时有点懵 就随口说了链表、树、栈、队列、堆啥啥啥的 没有详细介绍 寻思着后面会再追问 但是没有)

14、平时会通过哪些渠道获取知识?

反问:

15、业务:类似理财通

16、技术栈:vue及变种框架

17、原作者的体会

如何看待像我这样面了八次一面的人 听说面超过三次就很难进了:要对自己充满信心 能够被挑中八次证明面试官对你的印象还是不错的 本次挑中的原因主要是学历和项目不错同时综合测评及获奖记录都还可以

建议:
1、在做项目的过程中太过于履平自己的经历/精力?(不是太懂)以至于在关键的基础点上理解得不是很深
2、了解原理遇到具体的场景才能更好地使用 举例http缓存
3、不能忽视js基础
4、履历评测学校经历已经打败80%的人了 基础和潜力还是可以的 八次面试大多数的评价都是基于前端基础理解上不是特别的好(所以其实还是有一点点面评的🤣)不要对自己的能力产生怀疑 看你测评笔试分数还挺高的(看来猪头里面不只是水 还是有一点点脑子) 主要还是在技术上多应用多实践多了解

🙂面试感受:
和上次面金融科技部门类似 这次问的八股都很基础 说实话这次面试完一度以为自己终于能过一面了 晚上一看流程又结束了 这时候再回看“要对自己充满信心” 又何尝不是一种黑色幽默呢?

(PS:uu加油!冲冲冲)


24.4.24 地平线一面/前端

链接:https://www.nowcoder.com/?type=818_1 作者:傲娇的橘子皮

1.BFC

面试官:请说说什么是BFC?大白话讲清楚 - 掘金 (juejin.cn)

2.垂直居中

CSS 布局 - 水平和垂直对齐 (w3school.com.cn)

(有很多种情况,可能要多上手试一下

3.响应式布局

三分钟了解「自适应」与「响应式」布局 - 知乎 (zhihu.com)

盘点:CSS响应式布局的5种实现方式 - 知乎 (zhihu.com)

\4. 实现一个三角形

\5. 选择器有哪些
\6. 选择父元素
\7. 多个元素设置为一行

\8. js 数据类型
\9. js执行机制
\10. 闭包
\11. 原型和原型链
\12. let var const
\13. 判断数据类型的方式
\14. 解构赋值 对象 重命名
\15. 箭头函数和普通函数
\16. call apply 区别
\17. promise状态 链式调用 构造函数是异步还是同步
\18. async和await区别
\19. 浏览器缓存
\20. cookie 存储什么
\21. cookie 和localstorage 区别
\22. vue 生命周期
\23. 父组件和子组件的周期
\24. 响应式原理
\25. nexttick
\26. 深度监听

\27. 手写深拷贝


24.4.24 美团到家一面/前端

作者:linklinke 链接:https://www.nowcoder.com/?type=818_1

1.html的head、body
2.meta、link、style,link可以引入哪些资源,里面的type是做啥的,link可以跨域吗
3.script跨域吗,async、defer
4.有人恶意注入script标签怎么办
5.less、scss原理
6.css-module原理
7.修改antd组件样式如何避免被覆盖
8.flex: 1 0 auto
9.浏览器缓存
10.浏览器有哪些进程
11.回流和重绘
12.合成层如何提升
13.事件循环
14.http code
15.https加密流程,为啥用两种加密结合


24.3.19 京东一面/前端

作者:isSunnyLa 链接:https://www.nowcoder.com/?type=818_1

无手写代码纯八股 ⬇️
\1. 同源策略是什么
\2. 同源策略使用场景
\3. jsonp 及其不足
\4. CDN 一般放什么数据
\5. 同源策略在什么场景下有限制
\6. 页面嵌入 iframe 有什么限制
\7. MVVM
\8. MVVM 和 MVP 区别
\9. 还有什么模型
\10. HTML 常用标签
\11. src 和 href 的区别
\12. 常用布局方式
\13. 网页中右下角固定
\14. flex 一行五个卡片 最后一个不占用空间
\15. js 数据类型
\16. vue 双向绑定原理?对于数组呢?
\17. 先执行父组件的生命周期还是 mixin 的生命周期
\18. mixin 定义相同变量以哪个为主


总结

拉拉扯扯好多天终于将第一波面经看完了。每次去找面经、看面经最频繁的感觉就是——焦虑,然后开始像打怪闯关一样一个个地解决这些奇形怪状的问题。

挺好玩的,有时候找答案刷到一些博客建议去看源码,或者学习小伙伴分享的一些深入框架的大部头书籍,或者一整块自己不熟悉的知识点……只感觉自己学不完了……

果然,在知识的海洋里,我始终是一条淡水鱼哈哈哈哈哈。

  • 17
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值