- 相关推荐
解析百度HTML5开发面试题
以下是陶老师针对网友关心问题,做出的精彩解答
一、网友提问:我是一家上市公司,如何找到靠谱不贵的H5供应商?
陶老师:随着微信、微博、LinkedIn乃至Facebook和Twitter,纷纷对H5分享的友好支持,企业对H5的需求也与日俱增,最近也有好多企业找到博看文思要求定制化H5的开发。事实上,随着技术的成熟,和各种H5工具的出现,H5制作已经逐渐走向标准化了,成本问题也随之一些工具的出现有了极大的改善。想要找到千万级PV的H5也是有一定规律的。
如果你预算和时间充足的话,我推荐你关注BlueMP的定制开发服务。不单单有你所需要的:策划、设计、开发、推广、监测等服务,更重要的是物超所值。有兴趣的朋友可以关注一下。
二、网友提问:我是平面设计,之前没有接触过编程可以学习HTML5开发吗?
陶老师:完全没有问题,有平面设计的基础,对学习HTML5有很大帮助的。众所周知,博看文思作为国内最早的HTML5研发和实训机构,在课程体系上保持着实时更新。在课程设置上,本课程从HTML 5基础的功能讲起,起点低,容易入手和掌握。理论与真实项目完整结合,每一个概念都精选了一个完整的实例,增强学员动手能力,从而保证学员成为一名合格的HTML5开发工程师。
三、网友提问:如何使用HTML5改进移动Web应用开发?
陶老师:HTML5是一种标记语言,与Java和CSS3一起,构成了每个开发者的核心技术,HTML5拥有自己的API以及一组被主流浏览器兼容的标准API,同时一些特殊被API,比如本地存储也被许多浏览器支持。想要改进移动Web应用的开发重点要关注兼容性。主要是屏幕的尺寸和分辨率,更重要的是,要在各种尺寸的屏幕上测试。检查图片是否被现实;是否可以横向滚动;是否所有的功能都可以工作;是否支持所有格式的文件;需要全面的检查你的网站,确保使用HTML5开发的移动网站获得完美的效果。尽量避免使用表格、隐藏图形、弹出窗口等内容。
四、网友提问:我去美团面试前端遇到一个面试题:“ajax在jquery的底层是怎么实现的呢?请指教。”
陶老师: jQuery底层是实现ajax功能时,也同样调用了Java中对象,先是对这个对象进行浏览器兼容性的处理,它的处理则不仅是IE和其他浏览器,而是包含更多,以确保该对象的实现。
其次,它将对象打开请求地址时的相关参数封装在相关函数(如ajax())的配置项中,一旦传入了必需选项,则直接调用相应的send()方法进行数据的请求。
最后,jQuery底层将对象请求后返回的数据结果,直接封装到相关函数的success方法中,所以,一旦异步请求成功,返回的数据对象直接注入到方法中,因此,可以调用success方法获取服务端返回的数据。
五、网友提问:百度的技术经理要我列举至少5种前端性能优化的具体方法,简要说明理由,想听听老师的建议。
陶老师:方法有很多种,请参考。
1.尽量减少对服务端的数据请求,因为每一次的请求需要消耗大量的资源,而且产生页面的等待,对用户的UI体验特别差,因此,可以将多次的数据请求合成为一次,获取后再次分割进行保存,然后再使用。
2.对JS、CSS、图片文件的体积进行相应的压缩,因为每次页面的加载都需要考虑到整体页面的大小,如果页面包含的文件体积太大,也不利于主页面加载的速度,用户在UI体验上也会大打折扣。
3.使用页面缓存,当展示一些不经常变动的数据时,可以直接使用页面的本地缓存对象,这样的话减少页面对服务端的依赖度,而且有利于页面加载的速度,极大优化了用户的UI体验。
4.在进行js文件调用时,尽量将该文件放置在元素的结尾处,这样的话即使导入的js文件体积很大,也不会阻塞主线程页面的加载。
5.启用服务器Gzip,网页压缩技术:启用服务器Gzip,对页面Gzip压缩,减少元素的体积,从而减少数据的传输,进而提高网页的加载速度。