当前位置: 首页 > 面试经验 >

快手-基础架构-前端一面

优质
小牛编辑
133浏览
2023-03-28

快手-基础架构-前端一面

一、自我介绍

二、CSS和JS基础

1. 从css布局开始,什么是盒模型?

2.了解BFC吗?BFC的作用,BFC的开启方式?

3.float有什么用?如何清除浮动?

4.position有什么属性?staic/relative/absolute/fixed的特性?还有什么吗?sticky和这四个有什么区别?

5. 口述:如何实现一个垂直居中布局?定位+2D平移/flex/grid? flex具体设置的属性值,grid具体设置的属性值?

6. 如何实现一个两栏布局(左边固定宽度,右边自适应)?三栏布局呢(左右两边固定中间自适应宽度,且左右两边贴合容器左右边界,盒子间间隔相等)?

7.问一些JS基础,了解var吗?什么是变量提升?let和var的区别?

8.JS如何进行类型判断?Object.prototype.toString.call()怎么实现类型判断的?

9.call是做什么的?apply和call的区别?bind和这两者又有什么区别?讲一下什么是函数柯里化?函数柯里化如何实现?

10. 你说用闭包实现,什么是闭包?

11.闭包会造成内存泄漏,JS的垃圾回收机制了解吗?V8的垃圾回收机制。引用计数方式中,如果产生循环引用如何解决?或者换一个场景,一个项目中模块间的循环依赖怎么解决?

12. 讲一讲数组吧,常用的数组api有哪些?push的返回值,splice的返回值? 如何做数组去重?如何做数组拍平?除了类型判断+递归还有什么实现数组拍平的方式?系统有没有现成的api实现数组拍平?

13.什么是伪数组,JS是伪数组的变量有哪些?伪数组和数组的区别?如何将伪数组转为数组?如果不转为数组,伪数组还能怎么调用数组的api?

14.你刚刚说了原型,JS设计原型的初衷是什么?JS中实现继承的方式有哪几种,不用说全,挑最主要的说(组合式/寄生组合式)?ES6实现继承的方式是什么?

15. 说一说new关键字的执行流程?

16. 解释一下eventLoop?

17.Promise用过吗?考几个api,all和allSettled的区别?它们的返回值?它们返回值的promise状态?

18.输入一个URL的流程说一下?

19.说一下DNS解析过程?

20.说一下回流和重绘?在考虑回流和重绘的基础上,如何对页面进行优化?

21.考你一些网络基础吧,http在哪一层?http2.0和http1.0的区别?http和https的区别?https用到了哪些加密算法进行传输?DES和AES的原理知道吗?

22.TCP在哪一层?TCP和UDP的区别?TCP如何保证可靠传输?除了你说的(序列号校验/超时重传/流量控制/拥塞控制),还有其他什么机制吗?

...基本部分就记得这么多

三、项目

第一个项目和CDN有关:

23.CDN的原理是什么?如果CDN没命中该怎么办?

24.权限管理模块是怎么进行实现的?是基于角色还是基于白名单的权限管理?基于角色的权限管理的设计模型说一下?

25.token是什么?token可以放在cookie里面吗?token放在storage里面有什么好处?你用的是哪种token?jwt能否解释一下?jwt具体包含了哪些字段?

第二个项目和NFV有关:

26.讲一下项目的整体流程。你说的监控任务下发是怎么实现的?这个Prometheus工具下面的流程知道吗?NFV中如何对虚拟设备进行监控?刚说socket变成,你熟悉socket编程吗?

27.讲一讲你发的论文做了什么贡献?

四、手写

leetcode: 257二叉树的所有路径

五、反问

1.所在部门,所做业务?

2.面试结果多久出?

面试下来大概 1小时30分,面试官人很好,问的比较基础也比较全面。

#快手秋招#
 类似资料: