阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      小米 前端工程师面试题

      小米 前端工程师面试题

      1.关于XSS的说法,错误的是

      A、script,js,vbscript,flash
      B、分类:反射,存储
      C、是浏览器端代码注入,恶意的script,css,html代码被浏览器解析
      D、PHP相关漏洞
      

      参考答案:D

      答案解析:是浏览器端代码注入,恶意的script,css,html代码被浏览器解析。 分类:反射,存储 script,js,vbscript,flash

      2.关于JSONP使用的说法错误的是:

      A、可以实现跨域通信
      B、基于 json 格式数据,兼容性好,简单易用
      C、只支持跨域HTTP请求这种情况,不能解决不同域的两个页面之间进行JavaScript调用的问题
      D、可以完美支持POST请求
      

      参考答案:D

      3.HTML页面中有如下结构的代码, 下列选项所示jQuery代码,不能够让汉字“四”的颜色变成红色的是?

      A、  $("#header ul li:eq(3)").css("color","red");
      B、  $("#header li:eq(3)").css("color","red");
      C、  $("#header li:last").css("color","red");
      D、  $("#header li:gt(3)").css("color","red");
      

      参考答案:D

      4.下面哪一种属于“creational”的设计模式?

      A、Façade
      
      B、Singleton
      
      C、Bridge
      
      D、Composite
      
      E、上面都不是
      

      参考答案:B

      答案解析:

      总体来说设计模式分为三大类:

      • 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
      • 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
      • 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

      5.站点首页最常用的文件名是( )。

      A、index.html    
      B、homepage.html   
      C、resource.html
      D、mainfrm.html
      

      参考答案:A

      答案解析:站点首页最常用的文件名是index.html,其次是default.html。

      6.sessionStorage 保存数据的方法正确的是:

      A、sessionStorage.setItem(“键值”,”键名”);
      B、sessionStorage.saveItem(“键名”,”键值”);
      C、sessionStorage.saveItem(“键值”,”键名”);
      D、sessionStorage.setItem(“键名”,”键值”);
      

      参考答案:D

      答案解析:你只要记住两点,设置一般用 set 开头, 获取采用 get 开头; 对于键值的话,一般都是 (key, value)的形式; 所以选D

      7.使用CSS声明一个关联样式选择器,以下几种HTML元素中的内容可以为红色字体的是: ( )

      A、<div>内容</div>
      B、<div><em><span>内容</span><em></div>
      C、<span></div>内容</div></span>
      D、以上都可以
      

      参考答案:B

      8.JavaScript代码的用途描述错误的是()

      A、JavaScript在网页制作中广泛使用
      B、JavaScript是一种功能强大的弱类型语言
      C、JavaScript是一种脚本语言,所以它一般没人用
      D、avaScript是一种解释型脚本语言
      

      参考答案:C

      聊一聊面向对象设计模式

      设计模式是一套被反复使用、经过分类编目的代码设计经验的总结。使用设计模式是为了复用成功的设计和体系结构、复用相似问题的相同解决方案,保证代码可靠性,使代码编制真正工程化,能够适应需求的变化。共有23种设计模式。

      组合(Composite)模式。将对象组合成树形结构以表示“部分-整体”的层次结构。它使得客户对单个对象和复合对象的使用具有一致性。

      设计模式有如下的分类:

      1.创建型模式。单独对对象的创建进行研究,从而能够高效地创建对象。6个创建型模式:简单工厂模式(SimpleFactory)、工厂方法模式(FactoryMethod)、抽象工厂模式(AbstractFactory)、创建者模式(Builder)、原型模式(Prototype)、单例模式(Singleton)。

      2.结构型模式。研究对象的组成以及对象之间的依赖关系,如何设计对象的结构、继承和依赖关系会影响到后续程序的维护性、代码的健壮性、耦合性等。有7个具体的结构型模式可供研究,它们分别是:外观模式(Facade)、适配器模式(Adapter)、代理模式(Proxy)、装饰模式(Decorator)、桥接模式(Bridge)、组合模式(Composite)、享元模式(Flyweight)。

      3.行为型模式。行为型设计模式是对对象的行为进行研究,它们分别是:模板方法模式(TemplateMethod)、观察者模式(Observer)、状态模式(State)、策略模式(Strategy)、职责链模式(ChainofResponsibility)、命令模式(Command)、访问者模式(Visitor)、调停者模式(Mediator)、备忘录模式(Memento)、迭代器模式(Iterator)、解释器模式(Interpreter)。

      10.数值数据在计算机内用二进制编码表示,常用的编码有()

      A、补码
      B、ASCII码
      C、GB2312码
      D、UFT-8码
      

      11.当使用HTML5的拖放API实现拖动时,需要监听”开始拖动”事件,此事件的…

      当使用HTML5的拖放API实现拖动时,需要监听”开始拖动”事件,此事件的名称是:

      A、dragstart
      B、dragend
      C、drop
      D、mousedown
      

      12.关于 css 布局中的 BFC ,描述错误的是

      关于 css 布局中的 BFC ,描述错误的是

      A、BFC的区域会与float的元素区域重叠
      B、计算BFC的高度时,浮动子元素也参与计算
      C、BFC就是页面上的一个隔离的独立容器,容器里面的子元素是不会影响到外面的元素
      D、BFC意为”块级格式化上下文”
      

      13.TCP/IP协议栈中的位置(由上到下)?

      A、TCP->IP->HTTP->数据链路层
      B、IP->HTTP->TCP->数据链路层
      C、HTTP->IP->TCP->数据链路层
      D、HTTP->TCP->IP->数据链路层
      

      14.下面有关HTML的Doctype和严格模式与混杂模式的描述,错误的是?

      A、声明位于文档中的最前面,处于  标签之前。告知浏览器的解析器,用什么文档类型 规范来解析这个文档
      B、在标准模式中,浏览器根据规范呈现页面;在混杂模式中,页面以一种比较宽松的向后兼容的方式显示
      C、DOCTYPE不存在或格式不正确会导致文档以标准模式呈现
      D、浏览器根据DOCTYPE是否存在以及使用的哪种DTD来选择要使用的呈现方法
      

      15.在css3中要使元素由一种样式转换成另一种样式,为元素添加效果的属性是?

      A、animation
      B、keyframes
      C、flash
      D、transform
      

      参考答案:D

      答案解析:题目表述实在是有些劣质了。正确的表述应该是,当元素从一种样式变换为另一种样式时为元素添加效果的属性

      16.HTTPS是一种安全的HTTP协议,它使用 ( ) 来保证信息安全?

      A、IPSec 
      B、SSL
      C、SET
      D、SSH
      

      17.下列哪一项不是HTML5中新增加的标签?

      A、nav
      B、article
      C、caption
      D、video
      

      参考答案:C

      HTML5新增加的标签

      标签定义外部的内容(结构元素)定义页面内容之外的内容。 aside的内容与article的内容相关。(结构元素)定义一组媒介内容的分组,以及它们的标题。(结构元素)标签定义文档中的节(section,区段)。比如章节,页眉,页脚或文档中的其他部分(结构元素)

      18.下列jQuery事件绑定正确的是____。

      A、$(‘#demo’).bind(‘click’,function(){})
      B、$(‘#demo’).click(function() {})
      C、$(‘#demo’).on(‘click’,function() {})
      D、$(‘#demo’).one(‘click’,function() {})
      

      19.在jquery中,如果想要获取当前窗口的宽度值,下面哪个是实现该功能的?

      A、width()
      B、width(val)
      C、width
      D、innerWidth()
      

      20下面Http协议请求方式中不包括?

      A、OPTIONS
      B、HEAD
      C、DELETE
      D、SET
      

      参考答案:D

      答案解析:没有SET

      21.jQuery 对象的方法 get() 做什么?

      A、触发一个GET OBJECT请求
      B、返回一个对象
      C、返回存在jQuery对象中的DOM元素
      D、触发一个GET AJAX请求
      

      22.以下关于HTTP method 的说法,错误的是?

      A、一台服务器要与HTTP1.1兼容,只要为资源实现GET和HEAD方法即可
      B、PUT让服务器用请求的主体部分来创建一个由所请求的URL命名的新文档,或者,如果那个URL已经存在的话,就用干这个主体替代它
      C、POST起初是用来向服务器输入数据的。实际上,通常会用它来支持HTML的表单。表单中填好的数据通常会被送给服务器,然后由服务器将其发送到要去的地方。
      D、TRACE方法请求web服务器告知其支持的各种功能。可以查询服务器支持哪些方法或者对某些特殊资源支持哪些方法。
      

      参考答案:D

      答案解析:

      HTTP method

      • 一台服务器要与HTTP1.1兼容,只要为资源实现GET和HEAD方法即可
      • GET是最常用的方法,通常用于请求服务器发送某个资源。
      • HEAD与GET类似,但服务器在响应中值返回首部,不返回实体的主体部分
      • PUT让服务器用请求的主体部分来创建一个由所请求的URL命名的新文档,或者,如果那个URL已经存在的话,就用干这个主体替代它
      • POST起初是用来向服务器输入数据的。实际上,通常会用它来支持HTML的表单。表单中填好的数据通常会被送给服务器,然后由服务器将其发送到要去的地方。
      • TRACE会在目的服务器端发起一个环回诊断,最后一站的服务器会弹回一个TRACE响应并在响应主体中携带它收到的原始请求报文。TRACE方法主要用于诊断,用于验证请求是否如愿穿过了请求/响应链。
      • OPTIONS方法请求web服务器告知其支持的各种功能。可以查询服务器支持哪些方法或者对某些特殊资源支持哪些方法。
      • DELETE请求服务器删除请求URL指定的资源

      23.当表单中包含文件上传控件时,需要将enctype设置为()

      A、application/x-www-form-urlencoded
      
      B、multipart/form-data
      C、text/explain
      D、file-data
      

      24.哪一个不是浏览器默认的天生inline-block标签(拥有内在尺寸,可设置高宽,不会自动换行)?

      A、<button>
      B、<input>
      C、<label>
      D、<img>
      

      二、多选题(共6题,每题5分)

      1.JavaScript函数内部arguments变量的说法,正确的有?

      A、arguments所有函数中都包含的一个局部变量,是一个类数组对象,对应函数调用时的实参,如果函数定义同名参数会在调用时覆盖默认对象
      B、arguments[index]分别对应函数调用时的实参,并且通过arguments修改实参时会同时修改实参
      C、arguments.callee为当前正在执行的函数本身,使用这个属性进行递归调用时需注意this的变化
      D、arguments.length为实参的个数(Function.length表示形参长度)
      

      参考答案:A,B,C,D

      答案解析:

      函数内部arguments变量有哪些特性,有哪些属性,如何将它转换为数组
      arguments所有函数中都包含的一个局部变量,是一个类数组对象,对应函数调用时的实参。如果函数定义同名参数会在调用时覆盖默认对象
      arguments[index]分别对应函数调用时的实参,并且通过arguments修改实参时会同时修改实参
      arguments.length为实参的个数(Function.length表示形参长度)
      arguments.callee为当前正在执行的函数本身,使用这个属性进行递归调用时需注意this的变化
      arguments.caller为调用当前函数的函数(已被遗弃)
      转换为数组:var args = Array.prototype.slice.call(arguments, 0);
      

      2.下列说法正确的是()

      A、display: none;不为被隐藏的对象保留其物理空间;
      B、visibility:hidden;所占据的空间位置仍然存在,仅为视觉上的完全透明;
      C、visibility:hidden;产生reflow和repaint(回流与重绘);
      D、visibility:hidden;与display: none;两者没有本质上的区别;
      

      3.关于栅格系统,以下说法正确的是

      A、会有自动的padding样式
      B、会有自动的margin样式
      C、其字体默认为14px
      D、其box-sizing默认为border-box
      

      参考答案:A,C,D

      答案解析:此题有极大的问题。栅格系统是把网页分为 16 12 24栏。 只能要很好的划分就好。有必要一定要创建间隔吗。为了好理解我们创建一个10栏的栅格化。那么每栏宽度10%。没有列间隔。你能说他不叫栅格系统吗?

      4.假设MySQL数据库表结构如下,哪些sql语句查询能较好的利用索引?

      create table T{ k int unsigned not null auto\_increment, a date, b varchar(24), c int,d varchar(24), primary key(k),unique key a\_index (a DESC,b DESC), key k1(b),key k2(c),key k3(d) );
      
      A、select b from WHERE b like 'aaa%';
      B、select a,b from T WHERE a='2015-10-25' ORDER BY b ASC,c ASC;
      C、select a,b,c from T WHERE a='2015-10-25' ORDER BY b ASC;
      D、select a,b,c from T WHERE a='2015-10-25' ORDER BY a,b;
      

      5.下列哪些是正确的引入CSS文件到html中的方式? ()

      A、<link rel="stylesheet" type="text/css" href="test.css">
      B、<link rel="stylesheet" type="text/css" src="mystyle.css">
      C、<style type=”text/css”>body{color:red}</style>
      D、<style type=“text/css" src="test.css"></style>
      

      6.可以包含在HTML网页head标签中的有

      A、<title>
      B、<meta>
      C、<body>
      D、<link>
      
      目录
      本文目录
      目录