面试试题总结

发布时间:2019-08-15 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了面试试题总结脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

闲心面试题

一、任选一题(5分)
a) ul、ol、dl的区别?
b) div、section、article的区别?

a:ul是无序列表,ol是有序列表,dl是定义列表有层次关系。
b: div section article ,语义是从无到有,逐渐增强的。
div 无任何语义,仅仅用作样式化或者脚本化的钩子(hook)
section是有一定语义的div,适合有主题性的内容,表示一个专题,一般有标题,但是不可以乱用。只有内容明确需要出现在大纲中时才会使用。
artical是更特殊的section,他是一个独立完整的内容块。比如用在文章,评论等。

二、html5input新增了哪些高级属性?(5分)
number,date,color,range,datetime,email,tel,range,seArch

三、每题都需回答(15分)
a) 如何用CSS控制文本单行溢出省略?并且大致说出多行省略的思路。
b) 谈谈响应式布局?
c) CSS3有哪些高级选择器?
a:css实现单行溢出省略是利用text-overflow:ellipsis,whITe-space:nowrap和overflow:hidden属性实现的。(新版主流浏览器测试通过)
多上省略:适用于webkit内核和移动端

overflow : hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;

b:响应式布局就是一个网站能够兼容多个终端,而不是为每个终端做一个特定的版本。
这个概念是为解决移动互联网浏览而诞生的。html5也因此加入了媒体查询等一系列针对响应式布局的新元素。

c:css有属性选择器{E[att$='val'],E[att~='val'],E[att^='val']}

类选择器{E:not(),E:last-child,E:only-child,E:nth-child(n),E:nth-last-child(),E:empty}
       伪对象选择器{E::selection}
       关系选择器{E~F}
       

四、请逐一解释他们:Node.js、React Native、Angular.js、Grunt/Gulp、Webpack、Git、JSONP(10分)

Node.js: Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行的数据密集型的实时应用。
React Native: React Native 结合了 Web 应用和 Native 应用的优势,可以使用 JavaScript 来开发 iOS 和 AndROId 原生应用。在 JavaScript 中用 React 抽象操作系统原生的 UI 组件,代替 DOM 元素来渲染等。
Angular.js: AngularJS诞生于2009年,由Misko Hevery 等人创建,后为GOOGLE所收购。是一款优秀的前端JS框架,已经被用于Google的多款产品当中。AngularJS有着诸多特性,最为核心的是:MVVM、模块化、自动化双向数据绑定、语义化标签、依赖注入等等
Grunt/Gulp:自动构建系统,开发者可以使用它在网站开发过程中自动执行常见任务
Webpack: 是一个模块打包工具,你可以使用WebPack管理你的模块依赖,并编绎输出模块们所需的静态文件。
Git: Git是一款免费、开的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。·
JSONP: 为了便于客户端使用数据,逐渐形成了一种非正式传输协议,人们把它称作JSONP,该协议的一个要点就是允许用户传递一个callback参数给服务端,然后服务端返回数据时会将这个callback参数作为函数名来包裹住JSON数据,这样客户端就可以随意定制自己的函数来自动处理返回数据了。

五、分别说出下述输出结果(15分)
a) var a, b = 0, fn = function(){

    VAR a = b = 2;
};
fn();
console.LOG(a, b);//(undefined,2)

b) var b = {a: 1}[0]; //b的值 undefined var b={a:1}['a']输出1

c) !function(){

    this.length = 10;
    var fn = function(){
        console.log(this.length);  //输出多少?  输出2 this是arr
    }, arr = [fn, 'hello layui'];
    fn.length = 100;
    arr[0]();
}();  

六、封装一个cont方法,能实现如此调用:cout(a)(b)(c)(d)(e)… 并且返回的值为参数连剩的结果,即abcde*…。如cout(1)(3)(7) 得到21 (15分)

        var init=0;  //设置一个全局变量
        var muti=function(m)
      {
           init=init*m; 
           return muti
      }
      muti.toString=function()  //这是关键的一步
      {
          return init;
      }
        function count(m)  //最终我们要调用的函数
        {
            init=m ;// 初始化,否则init是0,那么永远乘 都是 0,也是很关键的一步
            return muti;//最终返回的是 元对象(不是实例化过后的对象哦)
        }

    alert(count(3)(4)(5))

七、任选一题(15分)
a) 谈谈你对模块化开发的理解?
b) 你认为什么是更科学效率的组件化?
c) ES6有哪些你觉得不错的特性?

八、任选一题(20分)
a) 实现一个手势滑动轮播图,可以直接用代码表述,也可以只说说思路。
b) 大致描述如何实现一个基于ExPress的MVC框架?

脚本宝典总结

以上是脚本宝典为你收集整理的面试试题总结全部内容,希望文章能够帮你解决面试试题总结所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。