浙江正元智慧科技股份有限公司 公司人数500-1000人。 公司地点:唐延路1号旺座国际城 1. 懒加载是用滚轮判断高度好还是用插件? 使用插件比较好,插件考虑的问题比较全面,仅仅通过滚轮高度判断很容易导致一些副作用(比如一次性请求多次) 2. image和canvas在处理图片的时候有什么区别? image是通过对象的形式描述图片的 canvas通过专门的API将图片绘制在画布上 3. http和tcp有什么区别? TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,是一种“经过三次握手”的可靠的传输方式; HTTP协议即超文本传送协议(Hypertext TransferProtocol ),是应用层协议,是Web联网的基础,也是手机联网常用的协议之一,HTTP协议是建立在TCP协议之上的一种应用。 4. 为什么angular不推荐使用dom操作? Angular倡导以测试驱动开发,在的service或者controller中出现了DOM操作,那么也就意味着的测试是无法通过的 5. 请谈下团购倒计时如何实现? 团购倒计时页面端的效果比较好实现,主要是样式和时间的操作,重要的考虑时间要和服务器端同步,其实这个效果也可以基于服务器端推送技术来实现 6. 什么叫代码部署?如何部署? 代码部署就是把开发好的网站代码放到应用服务器上对外提供服务、部署方式根据编程语言的不同而不同,但是大体的流程是一致的,生产环境主要是通过命令加配置文件的形式进行部署 7.身为一位web前端工程师,你肯定知道现在最流行的前端技术有哪些吧?请例举3例? 浏览器兼容性,hack技术,Node.js 8. CDN是啥? CDN的全称:是Content Delivery Network,即内容分发网络,加速的意思,那么网站CND服务就是网站加速服务。 CDN加速原理:CDN加速将网站的内容缓存在网络边缘(离用户接入网络最近的地方),然后在用户访问网站内容的时候,通过调度系统将用户的请求路由或者引导到离用户接入网络最近或者访问效果最佳的缓存服务器上,有该缓存服务器为用户提供内容服务;相对于直接访问源站,这种方式缩短了用户和内容之间的网络距离,从而达到加速的效果。 9. 设计模式有哪些?列举你在前端开发工作中自己应用到或者了解到其他框架所用到的设计模式? 单例、工厂、观察者、适配器、代理模式 10. 说说MVC和MVVM分别是什么? MVC全名是Model View 。是Controller模型(model)-视图(view)-控制器(controller)的缩写 MVVM是Model-View-ViewModel的简写 11. 看过Angular的源码吗,它是怎么实现双向数据绑定的? angular对常用的dom事件,xhr事件等做了封装, 在里面触发进入angular的digest流程。
在digest流程里面, 会从rootscope开始遍历,检查所有的watcher 12、angular中方法apply和digest区别? 当数据出现没有经过angular但是发生改变的情况下,需要调用apply。Apply的范围比较广,只执行一次,但是digest针对某一元素执行多次。 13.什么是内存泄露 【闭包】就是内存泄露, 垃圾回收机制,假如,我现在两个对象a,b,如果这两个对象只是互相引用,并没有第三个对象c引用他们的时候,此时,他就是垃圾,就会被回收。 14. 什么是dns缓存,cdn缓存,浏览器缓存,服务器缓存。 dns缓存一般是指域名的ip地址保存在系统缓存里面 CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术
|