CSS
概念:bfc 伪类 伪元素
实现布局:
1、css实现正方形div水平垂直居中
2、正方形实现,三角形实现
3、 实现布局header,content,footer,上中下布局;当content 超出窗口可视区,不显示footer;当content 没超出可视区时,固定footer 在最下面
4、点击table的td显示td内容???? (这个不是CSS吧)
5、屏幕占满和未占满的情况下,使footer固定在底部,尽量多种方法
6、 css 如何实现元素a距离屏幕10px,高度无论宽度怎么改变都是其0.5
7、 css 单行和多行截断
8、 宽是高的一半的垂直居中,里面有字体也要垂直居中类数组
9、上中下三栏布局
10、回流重绘
11、canvas
CSS常考布局:
1、垂直居中布局 多种实现方式
2、自适应布局(两栏 上下/左右)
3、三栏式布局(圣杯 双飞翼)多种实现方式
4、瀑布流布局
JS
1、js原型链继承、借用构造继承、组合继承方式、类式继承的方案,几种继承方式的优缺点、优化列出代码;实现一个子类实例可以继承父类的所有方法;
2、数字千分位处理,正则和非正则都要实现(千位加逗号)153812.7 转化153,812.7 (+3)
3、eventloop 宏任务 微任务 (node.js里的eventloop有什么区别❓)(+N)
看编程代码说出运行结果:
Process.nextTick,setImmediate 和promise.then 的优先级
Process.nextTick,pronise, setImmediate的优先级
promise async setimeout先后次序
同步异步输出的顺序
4、instanceof 原理及实现
5、promise封装setstate ❓❓❓ 什么鬼
6、实现一个bind函数(各种手写代码 apply call new 函数柯里化...)bind函数运行结果❓
多个bind连接后输出的值❓❓❓
7、请实现如下的函数,可以批量请求数据,所有的 URL 地址在 urls 参数中,同时可以通过 max 参数 控制请求的并发度,当所有请求结束之后,需要执行 callback 回调函数。发请求的函数可以直接 使用 fetch 即可
8、==的隐式转化规则
9、多空格字符串格式化为数组
10、固定日期与当前时间格式化处理
11、闭包问题
12、 argument是数组吗,如果不是怎么变为数组
13、如何实现for循环内定时器依次输出123
14、es6:箭头函数 symbol promise
15、节流函数 防抖 (原理+手写)
16、数组去重、数组扁平化
17、实现一个方法,参数是一个generator函数,执行结果是执行完所有generator中的yield
18、原码,补码,反码 ❓❓
19、事件委托 (啦啦啦 一系列概念)
20、换行字符串格式化
21、日期转化为2小时前,1分钟前等 (输入一个日期 返回几秒前 几天前或者几月前)笔试
22、[1,2,3].map(parseInt) 执行结果 为什么
23、deepClone 深拷贝 浅拷贝
24、获取页面所有img并且下载
25、函数实现正面模板
26、最后是一个写代码 处理有依赖的异步任务 加重试
北京前端一面:
1. function request(urls, maxNumber, callback) 要求编写函数实现,根据urls数组内的url地址进行并发网络请求,最大并发数maxNum ber,当所有请求完毕后调用callback函数(已知请求网络的方法可以使用fetch api)
2. throttle函数实现
3.requestAnimationFrame 和 setTime、setInterval的区别,requestAnimationFrame 可以做什么
4.二叉树路径总和(leetcode 112)
5. 给定一个不含重复数字的数组arr,指定个数n,目标和sum,判断是否含有由n个不同数字相加得到sum的情况(leetcode 40 变种, 数 字不得重复使用)
上海前端一面:
websocket 原理
http2如何实现多路复用
怎么将一个异步方法promise化,以及实现promise.all()方法
浏览器
1、https协议的过程
2、https获取加密密钥的过程
3、http的方法有哪几种,每种方法的有用途(常见的http方法)http常见的状态码,get post的区别,http网络协议 https原理
4、http握手原理(TCP三次握手 四次挥手, 为什么3次...)
5、Jsonp跨域 (常见的跨域方式)
6、 前端安全 XSS工具 CSRF攻击,防御机制,https
7、cookie session token JWT
8、前端缓存机制、回话机制
9、计算机网络知识 TCP UDP,TCP和UDP的区别,优缺点及适用场景,TCP怎样保证数据有序,怎样保证可靠性。TCP为什么是可靠的
算法
1、背包问题(动态规划)❓❓ 动态规划算法
2、最长子序列 (最长公共子序列)
3、二叉树中序遍历(前中后序遍历 递归方式及非递归方式实现)二叉树搜寻算法
4、给定一个数组,一个期望值,找到数组中两个相加等于期望值
5、冒泡算法(各种排序算法)
6、['a','b'],['A','B'],['1','0'],输出['aA1','aA0','aB1','aB0','bA1','bA0','bB1','bB0'],算法的排列组合问题
React
1、diff算法 原理
2、redux基本组成和设计单向数据流
3、dom react原理 ❓❓这又是什么鬼
4、react 新版本的特性❓
5、react diff算法,key的作用,setData的机制,事件合成
6、React Fiber原理以及为什么componentWillRecievedProps会废弃
7、列表diff中key的作用 (不确定是不是React)
8、redux 异步
9、redux 异步中间件原理
10、React Hook, Fiber Reconciler ,新的生命周期 getDerivedStateFromPros 为什么是Static
11、react生命周期
12、vue-router路由监听的原理❓是不是也可以问react-router的路由监听原理
13、单页多页的区别,react路由实现原理
14、react数据驱动视图原理?更新视图的过程是否是同步的操作?
15、两个同源tab之间的交互,数据同步
Webpack
1、webpack打包的原理,webpack有没有针对打包过程做一些优化提升打包速度
2、wepack-dev-server 热更新功能实现原理
3、loader和plugin的区别
4、react项目开发环境如何配置?
Node.js
1、import和require的区别
2、event类 on once等方法
3、nodejs相关的应用(答:开发命令行工具、web服务,ssr,数据库操作等)
了解一下koa吧。。。。
1、koa1的原理,继承
2、Koa中间件机制及代码实现 express中间件原理
3、fetch取消
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
那些年你看不懂的项目实战经验相关的or乱七八糟的题
深圳抖音二面:
写一个eventBus,元素水平垂直居中,vuex mobox,小程序架构优化 日志系统 ❓
最近在做项目(痛点,难点,怎么解决),ssr(ssr csr混合怎么处理),小程序架构(带来的优缺点),状态管理,异步编程(各个优缺点)
二轮:
1.主要是围绕你的项目经历和技术,有一定的深度,主要还是要对项目全面熟悉;还有一个就是函数 柯理化的编码实现
2. 函数柯里化、Web安全、react性能优化、react算法原理
3.上来直接让写一个autocomplete 组件,可能是想考察业务思考点;
4. 后续的问题主要会接着业务场景问 扣实际场景 不问知识理论;
5. http网络协议 ;
7. js设计模式;
8. solid原则;
杭州二面
1. 给一个由域名组成的字符串进行按子域名分组的反转,比如 news.toutiao.com 反转成 com.toutiao.news 需要 in place 做
2.其他技术问题都是穿插在我的业务项目里面的,有点针对实际情景给解决方案
三轮:
1.自己做得最有成就的项目
2.自己主动承担并是核心的项目
3.项目深度:比如现场实现vue的数据代理等
4.技术广度:什么是微前端等
5.职业发展
6. 1. js实现依赖注入
2. 接口攻击的方式和防御措施
3. https握手过程
4. 设计模式
5. redux和 mobx的区别
6. js多线程如何共享大的数据
深圳二面(这个不是前端吧。。。❓❓。。。算法补充)
1,一千个棋子,甲先取乙后取,每次最多取七个最少取一个,问是否有一个方案让甲一定赢
2,3×7的格子,从左上角到右下角,只能往右或者往下,有多少种走法,
3,一个不均匀硬币,如何抛出均匀概率
4,然后有一个生成0到13随机数的算法,如何用它均匀生成0到9随机数
5,两千万高考生成绩如何排序
6,用链表表示的大数求和