前端概括性问题

1、常使用的库有哪些?常用的前端开发工具?开发过什么应用或组件?

使用率较高的框架有jQuery、YUI、Prototype、Dojo、Ext.js、Mootools等。尤其是jQuery,超过91%。

轻量级框架有Modernizr、underscore.js、backbone.js、Raphael.js等。(理解这些框架的功能、性能、设计原理)

前端开发工具:Sublime Text 、Eclipse、Notepad、Firebug、HttpWatch、Yslow。

开发过的插件:城市选择插件,汽车型号选择插件、幻灯片插件。弹出层。(写过开源程序,加载器,js引擎更好)

1、 对BFC规范的理解?

Formatting Context:指页面中的一个渲染区域,并且拥有一套渲染规则,他决定了其子元素如何定位,以及与其他元素的相互关系和作用。

3、99%的网站都需要被重构是那本书上写的?

网站重构:应用web标准进行设计(第2版)

4、WEB应用从服务器主动推送Data到客户端有那些方式?

    html5 websoket

    WebSocket通过Flash

    XHR长时间连接

    XHR Multipart Streaming

    不可见的Iframe

<script>标签的长时间连接(可跨域)

5、加班的看法

加班就像借钱,原则应当是------救急不救穷

6、平时如何管理你的项目,如何设计突发大规模并发架构?

先期团队必须确定好全局样式(globe.css),编码模式(utf-8) 等

编写习惯必须一致(例如都是采用继承式的写法,单样式都写成一行);

标注样式编写人,各模块都及时标注(标注关键样式调用的地方);

页面进行标注(例如 页面 模块 开始和结束);

CSS跟HTML 分文件夹并行存放,命名都得统一(例如style.css)

JS 分文件夹存放 命民以该JS 功能为准英文翻译;

图片采用整合的 images.png png8 格式文件使用 尽量整合在一起使用方便将来的管理

8、你说你热爱前端,那么应该WEB行业的发展很关注吧? 说说最近最流行的一些东西吧?

Node.js、Mongodb、npm、MVVM、MEAN、react、angularjs、browserify、webpack

9、你有了解我们公司吗?说说你的认识?

因为我想去阿里,所以我针对阿里的说

最羡慕就是在双十一购物节,350.19亿元,每分钟支付79万笔。海量数据,居然无一漏单、无一故障。太厉害了。

携程、去哪儿:一个主要从事在线旅游O2O,当然也可以订酒店,买车票,买机票

10、移动端(比如:Android IOS)怎么做好用户体验?

融入自己的设计理念,注重用户体验,选择合适的技术

11、   你所知道的页面性能优化方法有那些?

压缩、合并,减少请求,代码层析优化。。。

12、   除了前端以外还了解什么其它技术么?你最最厉害的技能是什么?

知识面宽度,最好熟悉一些后台语言,比如php,展现出自己的技术两点

13、AMD(Modules/Asynchronous-Definition)、CMD(Common Module Definition)规范区别?

14、谈谈你认为怎样做能使项目做的更好?

考虑问题的深入,不仅仅停留在完成任务上,要精益求精

15、你对前端界面工程师这个职位是怎么样理解的?它的前景会怎么样?

表现出对前端的认同与兴趣,关注相关技术前沿

16、php中下面哪个函数可以打开一个文件,以对文件进行读和写操作?

A.fget();  B.file_open();  C.fopen();  D.open_file();

17、php中rmdir可以直接删除文件夹吗?该目录必须是空的,而且要有相应的权限--来自api

A.任何文件夹都可以删除           B.空文件夹可以删除

C.有权限的任何文件夹都可以删除   D.有权限的空文件夹可以删除

18、phpinset和empty的区别,举例说明

1、empty函数

用途:检测变量是否为空

判断:如果 var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。注意:empty() 只检测变量,检测任何非变量的东西都将导致解析错误。换句话说,后边的语句将不会起作用;

2、isset函数

用途:检测变量是否设置

判断:检测变量是否设置,并且不是 NULL。如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是一个NULL 字节("\0")并不等同于 PHP 的 NULL 常数。

19、php中$_SERVER变量中如何得到当前执行脚本路劲

 

20、写一个php函数,要求两个日期字符串的天数差,如2012-02-05~2012-03-06的日期差数

21、一个衣柜中放了许多杂乱的衬衫,如果让你去整理一下,使得更容易找到你想要的衣服;你会怎么做?请写出你的做法和思路?

22、如何优化网页加载速度?

   1.减少css,js文件数量及大小(减少重复性代码,代码重复利用),压缩CSS和Js代码

   2.图片的大小

   3.把css样式表放置顶部,把js放置页面底部

   4.减少http请求数

   5.使用外部 Js 和 CSS

23、工作流程,你怎么来实现页面设计图,你认为前端应该如何高质量完成工作?

熟悉相关设计规范,自己总结的一些经验

24、介绍项目经验、合作开发、独立开发。

团队协作,个人能力。实践经验

25、开发过程中遇到困难,如何解决。

考察解决问题的能力

26、对前端界面工程师这个职位是怎么样理解的?它的前景会怎么样?

    前端是最贴近用户的程序员,比后端、数据库、产品经理、运营、安全都近。

    1、实现界面交互

    2、提升用户体验

    3、有了Node.js,前端可以实现服务端的一些事情

前端是最贴近用户的程序员,前端的能力就是能让产品从 90分进化到 100 分,甚至更好,

参与项目,快速高质量完成实现效果图,精确到1px;

与团队成员,UI设计,产品经理的沟通;

做好的页面结构,页面重构和用户体验;

处理hack,兼容、写出优美的代码格式;

针对服务器的优化、拥抱最新前端技术。

27. 瀑布流布局或者流式布局是否有了解

随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部

28. HTML5都有哪些新的API?

多媒体:video、audio、
游戏:canvas、webgl、
存储:localstorage、sessonstorage、websql、indexedDB
网络:websocket
还有一些,但由于HTML5还没有定稿,其他大多是几个浏览器引擎自己加了私有扩展的实现

 29. 移动端性能优化?(结合自己项目)

    (1)加载优化

     1.减少HTTP请求

     2.压缩JS、CSS、HTML静态资源并在服务器设置gzip

     3.首屏加载,不超过120k

     4.压缩图片

     5.避免重定向

     6.异步加载第三方资源: async / 动态创建script / defer

     7.oneRequest: 首次内联CSS,JavaScript,存localStroage,第二次读取     localStroage

     8.按需加载: 滚动加载、点击加载

    (2) CSS优化

     1.层次不超过3

     2.合并CSS规则,合并margin、background等属性

     3.移除空的CSS规则

     4.去掉0的单位

     5.不要声明过多的font-size

     (3)脚本执行优化

     1.避免iframe、img等src为空

     2.图片尽量避免使用DataURI

     3.避免重设图片大小

     4.点击事件优化

     5.注意scroll resize事件绑定时机

     (4)渲染优化

     1.动画优化: 使用CSS3动画、使用requestAnimationFrame替代setTimeout

     2.高频事件优化: touch事件、scroll事件

     3.图片优化: 压缩图片、webp优于jpg、png8优于gif、对图片使用lazyload、避免使用DataURI

     4.GPU加速: 使用transition触发、tranform触发、opacity

     5.DOM层次不宜过多

     6.JS主动的释放内存

30. 本地缓存及区别

       Cookie: 存储数据量小,可以设置存储时间,到期自动删除

       sessionStroage: 将数据临时存储,离开当前页面就删除

       localStroage: 将数据保存到设备上,可以实现永久存储,需要主动删除

31.  css3新特性

       更多的选择器

       弹性布局: flex

       帧动画: keyframes / animations

       过渡动画: transition

       多列布局: column

       背景渐变: linear-gradient / radial-gradient

       背景属性: background-image / background-size / background-clip /        background-origin

       边框、阴影: border-image / border-radius / box-shadow

       2D、3D变换: transform / transform-origin

       用户界面属性添加: box-sizing / outline-offset / cursor更多属性值

32.  事件代理的本质

      事件代理(委托)本质就是给多组元素的父级加事件,再利用冒泡或者捕获找到下面的子元素,然后单独绑定事件。

33.  兼容性问题--条件注释

     HTML的条件注释在IE5中被首次引入,直到IE9.一直都是简单地判定用户浏览器(IE,非IE,IE版本)的一种手段,而在IE10的标准模式下,条件注释功能被停止支持(兼容性视图下继续有效)!

     <!--[if IE]> <![endif]-->

posted @ 2017-01-14 10:58  波吉大王子  阅读(273)  评论(0)    收藏  举报