最后
四轮技术面+一轮hr面结束,学习到了不少,面试也是一个学习检测自己的过程,面试前大概复习了 一周的时间,把以前的代码看了一下,字节跳动比较注重算法,面试前刷了下leetcode和剑指offer, 也刷了些在牛客网上的面经。大概就说这些了,写代码去了~
祝大家都能收获大厂offer~
篇幅有限,仅展示部分内容
所以前端的自测其实穿插着接口的容错等其他各部分的综合。
本期的自测标准整合分为三个部分,展示,交互和校验。
展示
首先是:展示部分
这也是前端唯一不能甩锅的部分。展示可以说是在自测中解耦的测试点。
- 页面展示
- 布局展示
- 图片展示
- 控件展示
…等等
所见即为展示
验证标准
而展示的验证结果则是符合prd或者交互ui的要求,达到美观整洁大方与代码端表现一致即可。主要涉及的html和css的相关知识。
交互
交互体验可以说是一种见仁见智的东西,在业务流程的基本上,满足大多数人的操作习惯即可。尽量不要出现反人类的操作。
但在交互上前端往往需要考虑的更多,类似于对一些不可逆的操作,前端需要利用来防止用户的手滑等等,比如退款,删除等等。
- 二次确认
- 重复提交
- 异常提示(无权限,无数据)
- 默认值
…
等等
验证标准
交互的验证结果则是符合大多数用户的习惯,以及考虑到多种操作情况会造成的影响,从而在交互设计前就进行规避。
校验
第三点:校验,校验是为了保证前端数据的准确性。往往后台需要和前端一起进行对数据的校验,这样有了双重保险后,调用接口等。
校验的方式,一般分为两种,第一种是将需要校验的数据逐个击破,另一种则是为整体校验,对整个进行提交的数据组进行校验。
逐个击破校验
在双向绑定的背景下,数据单元也绑定了一个独一的控件,以数据单元为单位进行校验,最简单的就是if语句了
if(a!=1){
//校验不通过
console.log("a不是1")
}
整体处理校验
利用class的思想,将json转化为可以进行校验的class 对其中的属性进行校验,利用注释校验的方法对字段进行规定预设,从而进行整体校验。
权限
而校验不仅仅可以对于数据,也可以对于权限。
权限可以简单概括为三种:
- 操作权限
- 数据权限
- 显示权限
操作权限
常规的情形是:班主任可以审批学生请假而任课老师不可以。
假设我们的请假申请是一个按钮,其中包含了 一个审批请假的方法。
则任课老师不应该看到这个操作按钮,或者进行操作后不可以执行这个方法。
这里分享一份由字节前端面试官整理的「2021大厂前端面试手册」,内容囊括Html、CSS、Javascript、Vue、HTTP、浏览器面试题、数据结构与算法。全部整理在下方文档中,共计111道
HTML
-
HTML5有哪些新特性?
-
Doctype作⽤? 严格模式与混杂模式如何区分?它们有何意义?
-
如何实现浏览器内多个标签页之间的通信?
-
⾏内元素有哪些?块级元素有哪些? 空(void)元素有那些?⾏内元 素和块级元素有什么区别?
-
简述⼀下src与href的区别?
-
cookies,sessionStorage,localStorage 的区别?
-
HTML5 的离线储存的使用和原理?
-
怎样处理 移动端 1px 被 渲染成 2px 问题?
-
iframe 的优缺点?
-
Canvas 和 SVG 图形的区别是什么?
JavaScript
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
-
问:0.1 + 0.2 === 0.3 嘛?为什么?
-
JS 数据类型
-
写代码:实现函数能够深度克隆基本类型
-
事件流
-
事件是如何实现的?
-
new 一个函数发生了什么
-
什么是作用域?
-
JS 隐式转换,显示转换
-
了解 this 嘛,bind,call,apply 具体指什么
-
手写 bind、apply、call
-
setTimeout(fn, 0)多久才执行,Event Loop
-
手写题:Promise 原理
-
说一下原型链和原型链的继承吧
-
数组能够调用的函数有那些?
-
PWA使用过吗?serviceWorker的使用原理是啥?
-
ES6 之前使用 prototype 实现继承
-
箭头函数和普通函数有啥区别?箭头函数能当构造函数吗?
-
事件循环机制 (Event Loop)