先简单介绍一下自己。我是一名前端学习者。基础知识虽然学的不错,但是长时间不用的知识就像失水一样,很容易忘记。在这次蚂蚁金服的电话采访中,我认识到了自己的很多不足。虽然自认为在阿里升职之后在人才理念的问题上做的很好,但是在真正的编程问题中,我发现自己的编程其实还有待提高。接下来我们分析一下蚂蚁金服电话面试的问题。其实这些问题的基本答案我都知道,但是回答的时候还是很紧张,导致很多问题都回答不好。如果您不想全部阅读,请记住阅读摘要。本回答简单介绍一下自己,先简单介绍一下我的学校专业,然后是学过哪些专业课程,大一大二大三学习编程的过程。我为什么要学前端?就我个人而言,大一那年我在acm训练队。感觉老是写题不太适合我的性格。然后我开始学习Java,然后是Android。后来因为一些原因。.最后,我选择了学习前端。你知道js事件吗?浅谈js事件JavaScript使我们能够创建动态页面。事件是可以被JavaScript检测到的动作。网页中的每个元素都可以生成某些可以触发JavaScript函数的事件。例如,我们可以生成一个onClick事件来在用户单击按钮时触发一个函数。事件在HTML页面中定义。一些简单的事件仍然需要记住。当用户进入或离开页面时,会触发onload和onUnload事件。表单中使用的onFocus、onBlur、onChange下面是使用onChange事件的例子。一旦用户更改了字段的内容,就会调用checkEmail()函数。onSubmit用于在提交表单之前验证所有表单字段。onMouseOver和onMouseOut用于创建“动态”按钮。如何绑定事件?嵌入dom按钮直接绑定Button事件侦听器buttonie和w3c绑定事件标准有区别吗?下面解释一下代码,attachEvent方法用于ie绑定事件,detachEvent方法用于删除事件//添加事件监听兼容函数functionaddHandler(target,eventType,handler){if(target.addEventListener){//主流浏览器addHandler=function(target,eventType,handler){target.addEventListener(eventType,handler,false);};}else{//IEaddHandler=function(target,eventType,handler){target.attachEvent("on"+eventType,handler);};}//执行新函数addHandler(target,eventType,handler);}//删除事件监听兼容函数functionremoveHandler(target,eventType,handler){if(target.removeEventListener){//主流浏览器removeHandler=function(target,eventType,handler){target.removeEventListener(eventType,handler,false);}}else{//IEremoveHandler=function(target,eventType,handler){target.detachEvent("on"+eventType,handler);}}//执行新函数removeHandler(target,eventType,handler);你了解事件流吗?事件流的顺序是什么?用一张图来分析一下。一个完整的JS事件流从窗口开始,最后回到窗口的一个流程事件流。事件流分为三个阶段(1~5)捕获过程,(5~6)目标过程,(6~10)冒泡过程中js的基本数据类型基本数据类型有五种:Undefined,Null,Boolean、Number和String,也称为简单数据类型。还有一种复杂的数据类型就是Object,但是它不属于基本数据类型下面说说字符串的十个常用函数。让我们举个例子。实际上,charAt()在控制台打印后返回指定位置的字符。concat()连接字符串。fromCharCode()从字符代码创建一个字符串。indexOf()检索一个字符串。match()查找一个或多个正则表达式的匹配项。replace()替换与正则表达式匹配的子字符串。search()检索与正则表达式匹配的值。slice()提取字符串的一部分并在新字符串中返回提取的部分。split()将字符串拆分为字符串数组。substr()从起始索引号开始提取字符串中指定数量的字符。substring()提取字符串中两个指定索引号之间的字符。toLocaleLowerCase()将字符串转换为小写。toLocaleUpperCase()将字符串转换为大写。toLowerCase()将字符串转换为小写。toUpperCase()将字符串转换为大写。toString()返回一个字符串。valueOf()返回字符串对象的原始值。下面说说数组的十个常用函数。让我们举个例子。事实上,只需将它打印在控制台上,您就会有concat()来连接两个或多个数组并返回结果。join()将数组的所有元素放入一个字符串中。元素由指定的定界符分隔。pop()删除并返回数组的最后一个元素push()将一个或多个元素添加到数组末尾并返回新的长度。reverse()反转数组中元素的顺序。shift()删除并返回数组的第一个元素slice()从现有数组中返回选定的元素sort()对数组的元素进行排序splice()删除元素并向数组添加新元素。toSource()返回此对象的源代码。toString()将数组转换为字符串并返回结果。toLocaleString()将数组转换为本地数组并返回结果。unshift()将一个或多个元素添加到数组的开头并返回新的长度。valueOf()返回数组对象的原始值。说说this是什么,this代表什么这是Javascript语言中的关键字。它代表了一个内部对象,在函数运行时自动生成,只能在函数内部使用。this的值将根据函数的使用位置而改变。但是有一个通用的原则,就是this指的是调用函数的对象。更改this指向的方法要将this的值从一个上下文传递到另一个上下文,请使用call或apply方法。//一个对象可以作为call和apply的第一个参数,this会绑定到这个对象上。varobj={a:'Custom'};//这个属性定义在全局对象中。vara='Global';functionwhatsThis(arg){returnthis.a;//this的值取决于函数的调用方式}whatsThis();//'全局'whatsThis.call(obj);//'自定义'whatsThis.apply(obj);//'Custom'在a标签中添加了点击事件,那么点击事件的this指向什么。Showinnerthis此时内部函数的this没有设置,所以指向全局/window对象(即非严格模式下调用的函数不设置this时指向的默认对象)。ES6的新东西太多了。你可以阅读我的博客来找出简单的。当然,更多的还得看阮一峰的es6教程。先说一下jq常用的一些函数。jq常用的函数太多了。我在这里面试是因为我在简历里写了jq。大家可以根据自己的理解来回答。说说vue的生命周期这里就给个图吧,别问我为什么vue会绑定input数据答:v-model{{message}}
talk谈谈http协议HTTP(HyperTextTransportProtocol)是HypertextTransportProtocol的缩写,用于在WWW方式下传输数据。关于HTTP协议的详细信息,请参考RFC2616。HTTP协议使用请求/响应模型。客户端向服务器发送请求。请求标头包含请求的方法、URL、协议版本和类似MIME的消息结构,包括请求修饰符、客户端信息和内容。服务器以包含消息协议版本、成功或错误代码以及服务器信息、实体元信息和可能的实体内容的状态行进行响应。通常,HTTP报文包括客户端到服务器的请求报文和服务器到客户端的响应报文。两种类型的消息都包含一个起始行、一个或多个标头字段、一个指示标头字段结束的空行和一个可选的消息正文。HTTP的头域包括四部分:通用头、请求头、响应头和实体头。每个头字段由一个域名、一个冒号(:)和一个字段值组成。域名不区分大小写。字段值前面可以有任意数量的空格。标题字段可以扩展到多行。在每一行的开头,至少使用一个空格或制表符。主要要记住的是http中Status-Code的第一个数字定义了响应的类别,最后两个数字没有分类功能。第一个数字可能取5个不同的值:1xx:信息响应类,表示接收到请求并继续处理2xx:处理成功响应类,表示成功接收、理解并接受动作3xx:重定向响应类,在ordertocomplete指定的动作必须接受进一步处理4xx:clienterror,clientrequestcontainssyntaxerrororcannotbecorrectlyexecuted5xx:servererror,服务器无法正确执行正确的请求总结基本上都是简历上写的技术,所以简历上写的东西一定要自己熟悉,如果你擅长什么,面试官会很乐意问你问题,你可以跟他们聊聊这个领域你知道问。