快手一面 9.28
- css画圆形、三角形、正方形,正方形要求边长是屏幕宽度的一半且自适应
两种方法:1.利用内边距,因为元素的内外边距百分比都参照父元素宽度;2.利用vw。
- var、let、const
- http缓存
手撕代码
- 实现trans方法
trans('get-element-by-id'); // 'getElementById'
- 有序数组合并
const a = [...]; // m
const b = [...]; // n
时间、空间复杂度尽量小
function merge(a, b) {}
快手二面(平台研发部)10.12
- 进程和线程
- 上面提到了互斥锁,进程间通信也能用吗?怎么实现呢?
- 一个复杂的web工程,内部有很多的静态资源代码,js,css,html,image,用哪种数据结构可以准确描述所有静态资源之间的依赖关系?//图
- js之间可能存在循环依赖,怎么判断图里有没有循环依赖?
手撕代码
- 任意打开一个网页如新浪或者百度,写一段js代码找到网页中所有以h或者H开头的元素,并打印每种元素的个数,如网页中含有head, hr 和 h2 元素,那么打印出类似如下的结果:(备注:可以上网搜索资料)
{
hr: 3,
h2: 2,
head: 1
}
一面面试官人特别好,面完后直接说我给你一些建议,就这样聊了十几分钟。
一面结束俩小时hr就打电话约二面了,所以二面结束没等到电话我就预感凉了,果然😭
主要是二面代码题当时打印出html和HTML,我是直接用document节点作为根节点开始遍历的,当时以为document就是html元素节点,然后就被面试官追着一直排查这个问题,才搞懂了,然后面试时间也到了orz 所以其实是从document.documentElement开始遍历。
拼多多一面 10.11
- 前端学习路线,学了啥?
- css和js加载,是同步还是异步?
- 304状态码
- http缓存。js缓存到哪里?
- 解构赋值
- 实现一个父元素里两个子元素,父元素宽度固定,子元素铺满父元素。
手撕代码
- 对象列表转为树结构
[
{'id':'1','value':'1','parentId':''},
{'id':'2','value':'2','parentId':'1'},
{'id':'3','value':'3','parentId':'2'},
{'id':'4','value':'4','parentId':'2'},
]
//{
'id':'1',
'value':'1',
'child':{
'id':'2',
'value':'2',
'child':[
{
'id':'3',
'value':'3'
},
{
'id':'4',
'value':'4'
}
]
}
}
拼多多的手撕代码题因为没给输出,我当时没明白要输出什么,傻乎乎把每个对象转成节点建了棵树,然后过程中把子节点连接到父节点上的时候写成把对象连上去了,然后遍历输出报错。拼多多的面试平台面试者这边是无法执行代码看结果的,所以面试官说报错,我们俩只能肉眼看代码最后没看出来。过程中我写遍历输出的时候她问了句你直接输出不就好啦?我说树结构怎么直接输啊?面完查了其他面经才发现原来大概是要上面写的那种树形输出,然后我那么明显的class Node面试官居然也没看出我的意图,没纠正我的理解错误😂
全部评论
(2) 回帖