哇,牛客许愿是真的灵,星期一刚睡完午觉,接到了美团二面的电话,约了第二天面试
面试的小哥哥上来问了我本科在哪里读的,还问了我中学在哪里(后来反问环节知道,小哥哥和我老乡 )
自我介绍了一下,问了项目上的一些问题;
1、 地图数据渲染的时候,后台传给前端的是用什么数据结构,geojson
2、 Leaflet本身有哪些接口
3、 数据量很大的渲染时,怎么去解决?
4、 这个平台每天的访问量多少,以后会不会对外使用?
-------------------------20分钟左右------------------------
做一个算法题,这个写的不好,写了好长时间
题目:
abcd,1 => bcda
abcd,2 => cdab
代码:
let arr = ['a','b','c','d'];
let target = 2;
let newTarget = target%arr.length;
let arr1 = arr.slice(0,newTarget);
let arr2 = arr.slice(newTarget);
let newArr = arr2.concat(arr1);
console.log(newArr);
当时写了这种方法,slice这个方法,一着急还给忘了,用的循环截断写的
1、行内元素和块状元素有哪些?区别?
2、Postion有哪些属性?分别说一说应用场景?
3、开放性题目:输入一个url发生了什么?(这一题讲了好多)
DNS解析;建立tcp连接;http请求报文(起始行是什么);命中缓存(强缓存,协商缓存);响应报文;浏览器渲染;
自然也讲到了如何进行性能优化(webpack打包;CSS,js放在页面的哪里,为什么这样放置);
5、 你提到起始行中,有版本号,版本号是什么?(http1.0 1.1)
6、 区别 ?这边说的不是很好(keep-alive概念理解的有点问题,和websorket概念混淆了)
7、 js文件会被缓存下来?浏览器端可能直接会去使用本地的缓存,那如何知道服务器端的js文件更新了,而去使用这个新的文件呢?这一题我讲了JS文件打包的时候会跟一个hash值,通过这两个值的对比可以知道是否改变(这里我说到了webpack热更新,但感觉不是?)
------------------------------------------
反问环节:算法那边写的不太好,会不会影像很大?
这个面试整体还可以,哎,每次面试手撕代码都只能写出复杂度最高的算法
全部评论
(3) 回帖