web应用系统开发,HTML表格标签,10天用Flutter撸了个高仿携程web

56 阅读7分钟
  1. 重排和重绘

  2. 什么情况会触发重排和重绘?

JavaScript

  • 原型链

(1) 创建对象有几种方法?

(2) instanceof的原理?

(1)类的声明?

(2)生成实例?声明一个类,怎么生成类的实例?

  • 继承

(1)call、apply的共同点与区别?

(2)用javascript实现对象的继承/ 继承的几种方式,这几种方式的优缺点?

  • 作用域

(1)说说你对作用域链的理解?

(2)this?

  • JS闭包

(1)闭包的特征?

(2)闭包应用场景?

(3)实际开发中闭包的应用?

  • JS运行机制,单线程,异步

(1)如何理解js的单线程?

(2)js为什么是单线程的?

(3)同步和异步的区别是什么?分别举一个同步和异步的例子?

(4)何时需要异步?

(5)什么是任务队列?

(6)请说出下列的值?

(7)栈和队列的区别?

(8)栈和堆的区别?

(9)什么是event loop?

(10)event-loop流程?

(11)哪些语句会放入异步任务队列中?

(12)何时被放入任务队列?

  • JS数据类型

(1)js使用typeof能得到的哪些类型?

(2)如何准确判断一个变量是数组类型?

(3)js变量按照存储方式区分为哪些类型,并描述其特点?

(4)null和undefined的区别?

(5)undefined的典型用法?

(6)null的典型用法?

(7)chrome60+浏览器中,a===b的是哪项?

  • JS的内置函数,内置对象

(1)js中有哪些内置函数/ 数据封装类对象?

(2)js中有哪些内置对象?

(3)js变量按照存储方式区分为哪些类型,并描述其特点?

(4)字符串方法/ String对象方法?

(5)数组方法/ Array对象方法?

(6)数组API?

(7)对象API?

  • 数组去重

(1)数组怎么去重?

(2)对上述数组去重方法速度比较?

(3)一句话数组去重?

(4)保留数组中非重复元素?

(5)保留数组中重复元素?

  • JS逻辑判断

  • 内存泄露

(1)哪些操作会造成内存泄漏?

(2)js内存泄漏的解决方式

  • DOM

(1)dom是哪种基本的数据结构?

(2)dom操作的常用api有哪些?

(3)dom节点的attribute和property有何区别?

(4)dom结构操作/ 怎样添加、移除、移动、复制、创建和查找节点/ dom操作的

常用api?

(5)dom事件的级别?

(6)dom事件模型?

(7)dom事件流?

(8)描述dom事件捕获的具体流程?

(9)event对象的常见应用?

(10)自定义事件/ 模拟事件?

(11)通用事件绑定/ 编写一个通用的事件监听函数?

(12)dom树、render树的关系/ dom树、render树的区别(第2、3条)?

  • BOM

(1)bom常用属性?

  • 通信

(1)什么是同源策略及限制?

(2)前后端如何通信?

(3)跨域通信的几种方式?

(4)jsonp实现?

(5)可以跨域的三个标签?

(6)三个可跨域的标签的使用场景?

  • Ajax

(1)ajax请求的原理/ 手写一个ajax请求?

(2)readyState?

(3)ajax异步与同步的区别?

(4)ajax传递中文用什么方法?

  • 错误监控

(1)前端错误的分类/ 如何检测js错误/ 如何保证你的产品质量?

(2)错误的捕获方式?

(3)上报错误的基本原理?

  • 模块化

(1)amd、cmd区别?

(2)amd、commonJs区别?

  • 虚拟DOM

(1)vdom的如何应用,核心api是什么?

(2)虚拟dom转换成真实dom?

(3)diff实现过程?

  • JS基础

(1)对js的理解?

(2)请说出以下代码输出的值?

(3)把以下代码,改写成依次输出0-9

(4)如何区分数组对象,普通对象,函数对象

(5)面向对象、面向过程

(6)面向对象的三大基本特性

(7)XML和JSON的区别?

(8)Web Worker 和webSocket?

(9)Javascript垃圾回收方法?

(10)new操作符具体干了什么呢?

(11)js延迟加载的方式有哪些?

(12)WEB应用从服务器主动推送Data到客户端有那些方式?

2. 前端框架

Vue:

知识要点:

1. vue-cli工程

2. vue核心知识点

3. vue-router

4. vuex

5. http请求

6. UI样式

7. 常用功能

8. MVVM设计模式

React

知识要点:

1. 基本知识

2. React 组件

3. React Redux

4. React 路由

3. 前端算法
  • 时间复杂度

  • 位运算

  • 左移 <<

  • 右移 >>

  • 按位操作

  • 排序

  • 链表

  • 二叉树

  • 递归

资料过多,篇幅有限,需要文中全部前端面试资料可以点击这里,免费获取前端面试资料PDF完整版!

自古成功在尝试。不尝试永远都不会成功。勇敢的尝试是成功的一半。

思考与感悟



其实整个备考的过程中,心态也是很重要的一部分,就好像我们当年高考的时候,心态一定要好。可能同学们经过很长的时间备考,然后投递了很多简历却没有面试机会。

首先要看一下是不是简历写得不好,一般没有机会大部分都是因为这个原因,可以找一下师兄姐聊一下如何修改简历。然后重新投递试试。或者有了面试机会却没有下轮面试了,那就是可能因为你的技术不够扎实,好好准备自己的基础,我推荐你:

写技术博客

不用自己去搭建一个博客(要是可以就更好了),选择一个平台,CSDN或者掘金都是不错的平台,然后就可以开始你的表演了。可以写一些最近的学习心得,面试技巧以及黑科技工具的使用等等。写博客的好处有很多,不仅可以锻炼的表达逻辑,还可以巩固你的知识体系。两全其美,何乐而不为?

另外就是可以多逛一下技术社区,了解前端的动态,多关注最近出了什么新技术、新框架、新八卦等等。试着去帮别人解答一些问题,别人也很愿意去听,但是不要抬杠。乐于分享的心态比技术本身更重要。

写项目

找一个idea,把之前所学的知识点用一下,或者用新的知识来重构一下旧的项目,都是一种产出的方法。如果你担心知识不够牢固可以上一下github找一些优质开源项目,看别人是怎么写的。项目中要把用到技术的那一块注释出来,不然过一个月都不知道是你写的。

交流心得

web浏览器中的javascript

  • 客户端javascript
  • 在html里嵌入javascript
  • javascript程序的执行
  • 兼容性和互用性
  • 可访问性
  • 安全性
  • 客户端框架

window对象

  • 计时器

  • 浏览器定位和导航

  • 浏览历史

  • 浏览器和屏幕信息

  • 对话框

  • 错误处理

  • 作为window对象属性的文档元素

开源分享:docs.qq.com/doc/DSmRnRG…