顺丰前端视频一面
顺丰 0804上午09:30-10:00 视频面试:
自我介绍
1、浏览器输入URL到加载展示出网站,其中的过程?
说了大概的过程,然后还说了浏览器的渲染过程,考官说我,浏览器发送请求到服务器处理这中间的过程没有介绍清楚。
2、对spring的aop有了解嘛?
3、如何使用原型链实现面向切面编程?
4、原型链有什么作用?
可以用来实现继承;可以用来创建对象;进行变量方法的访问解析。
5、ES6最吸引你的新特性?
其实这个问题,考官把主动权给了你自己。只是我选了一个很垃圾的模块化,其实应该说熟悉一点的promise,因为模块化你讲不出什么东西来,而且就像考官反驳的,除了ES6,也可以用其他的方法实现。这并不算是ES6的特性。
6、http和http2.0的区别?
说了http2.0可以服务器端主动推送,增加了安全算法。他又问如果不用http2.0如何实现服务器端推送。回答长轮询、websoket。
6、js进程和线程?
这个我没有讲的特别清楚,我从浏览器的主进程说起,说了消息队列,然后说了负责下载的线程、文档解析的线程、js解析的线程。然后考官说了js进程和线程的弊端,造成主进程阻塞。我说这个造成主进程阻塞是没办法根治的,js的设计就是这样,但是我们有办法去尽量避免阻塞,如使用延迟加载或预加载。忘记说webwork了。然后说了一些它为什么要设计为单进程阻塞的模式。
7、算法:地图上有个点,这个点周围有很多很多点,让你统计周围1公里范围内有多少标记点?(提示 点有经纬度)
可能是想考察你如何去统计这些点,如何去遍历统计这些点。利用经纬度去遍历。
8、你对ES有了解多少?
对ES要有概念,要理解它和JS的区别。不能弄混了。ES是一套标准,定义了数据结构和语法。定义了函数和对象的实现,包括原型链和作用域链的机制和实现。并没有JS中的事件、BOM、DOM相关实现的内容。
ES6的话对数据结构、函数、对象进行了扩展;引入了新的数据结构:Set和Map;创建了更多的对象,带来了更多的功能;引入了class的语法;引入了新的异步操作方法,如promise、async;引入了模块化解决方案。
9、你有什么问题嘛?
然后考官说,通过与否三天内会有短信或者邮件的通知。
PS:问题下面的回答的内容和自己的理解,仅供参考,内容可能有误,欢迎交流
#前端工程师##顺丰科技##内推##秋招##面经#