校招基本告一段落,总计一下

校招的那段时日攻读到了许多

说到底大约是签约日本首都美团点评

用Word统计了众多题材。发表在那里


 

 

7-13:

1:flex项目嵌套flex项目怎么算?

你了然Flex项目也足以改为Flex容器吗?是的,是唯恐的!

您想嵌套多少深度就嵌套多少深度(不过理智的做法是涵养一个理所当然的品位)。

2:总结flexbox

3:规划布局

4:CSS选择器

5:现代各样布局

6:Hexo

7:react+redux书

 

7-17:

1:e.target.parentNode.remove();成功,查询一下JS原生的remove方法

2:复习JS DOM的原生操作方法,比如innerHTML(),insertBefore()等

3:技术之瞳

4:jquery的each,map等方法

5:数组和对象的浓淡拷贝

http://blog.csdn.net/fungleo/article/details/54931379

 

7-18

1:MD5那种JS文件不可能直接在index.js里面载入,要求用webpack加入的由来和怎么样进入?

2:webpack2.2华语文档 http://www.css88.com/doc/webpack2/

4:screenX,pageX,client,offset…

http://www.cnblogs.com/yehuabin/archive/2013/03/07/2946004.html

7:js怎么编写鼠标的右击事件

https://zhidao.baidu.com/question/1111401816718591899.html

 

7.24

1.checked事变的变化<input type=”checkbox”
checked={this.state.checked} onChange={this.checkedChangeHandler}
/>记住账号1</span>

2:backbone路由的卷入怎么办的

3:基于 CentOS 搭建微信小程序服务

 

7.25

1.JS原生的onclick事件写法

2:左右添加

3接口不另行难题

 

7.26

作者:DaphneMoMo
链接:https://www.nowcoder.com/discuss/18530?type=2&order=3&pos=55&page=1

一面

1、 
window.onload和$(document).ready()的分别,浏览器加载转圈为止时哪个时间点?

  $(document).ready()方法和window.onload方法有一般的法力,可是在履行时机方面是有分其余。window.onload方法是子呀网页中的所有因素(包蕴元素的享有关乎的文件)完全加载到浏览器后才实施,即javascript此可以访问网页中的任何因素。而透过jquery中的$(document).ready()方法注册的年月处理程序,在DOM完全就绪时就可以被调用。此时,网页的有着因素对jquery而言都是可以访问的,可是,那并不意味着那一个元素关联的公文都早就下载完成。

  举一个例证,有一个大型的图库网站,为网页中的所有图片添加某些行为,例如单机图片后让她潜伏或出示。要是选拔window.onload方法来拍卖,那么用户必须等到每一副图片都加载落成后,才足以展开操作。假设利用jquery中的$(document).ready()方法来开展设置,只要DOM就绪就可以操作了,不要求等待所有图片加载落成。明显,吧网页解析为DOM树的速度比吧网页中的所有关乎文件加载已毕的素的快很多。

  其它,须要小心一点,由于在$(document).ready()方法内注册的风云,只要DOM就绪就会被实践,由此恐怕此时元素的关联文件未下载完。例如与图片有关的HTML下载落成,并且一度即诶下为DOM树了,但很有可能图片还未加载完结,所有例如图片的莫大和宽窄那样的质量此时比自然有效。要缓解这一个题材,可以选择Jquery中另一个有关页面加载的不二法门—–load()方法。load()方法会在要素的onload事件中绑定一个处理函数。若是处理函数绑定给window对象,则会在享有内容(包罗窗口。框架,对象和图像等)加载已毕后触发,即使处理函数绑定在要素上,则会在要素的被容加载落成后加载。jquery代码如下:

1

2

3

4

$(window).load(function(){

//代码

 

});

  等价于javascript中的以下代码:

1

2

3

4

window.onload=function(){

     

//代码

}

 

2、  form表单当前页面无刷新提交  <form target=””>  iframe

http://www.cnblogs.com/yevon/p/about\_target\_attribute\_of\_form.html

3、  setTimeout和setInterval分歧,怎样互相完结?

http://blog.csdn.net/baidu_24024601/article/details/51862488

参考资料:javascript高级程序设计第三版:重复定时器

4、 
如何幸免多重返调—promise,promise不难描述一下,怎么着在外表进行resolve()

合法文档

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise

         通俗解释

http://www.cnblogs.com/lvdabao/p/es6-promise-1.html

         感性明白

http://www.zhangxinxu.com/wordpress/2014/02/es6-javascript-promise-%E6%84%9F%E6%80%A7%E8%AE%A4%E7%9F%A5/

咱俩回到总括一下,异步回调的思想意识做法有八个难题:

  1. 嵌套层次很深,难以保险

  2. 代码难以复用

  3. 库房被毁损,无法正常检索,也惊慌失措正常使用 try/catch/throw

  4. 七个异步总计同时展开,不能预料落成顺序,必须依靠外层功用域的变量,有

误操作危机

Promise保留异步在无阻塞上的优势,又能让我们写代码写的更欣然自得

5、  margin坍塌?水平方向会不会倒塌

http://www.cnblogs.com/hugejinfan/p/5901320.html水平方向不汇合世margin坍塌 

6、  伪类和伪元素不一样

http://www.cnblogs.com/ihardcoder/p/5294927.html

简简单单的话,伪元素创造了一个虚拟容器,这么些容器不分包其余DOM元素,不过可以包罗内容。其它,开发者还足以为伪元素定制样式。

8、数组去重

http://blog.csdn.net/chengxuyuan20100425/article/details/8497277

 我总共想出了三种算法来促成这么些目标:

1.  Array.prototype.unique1 = function()

2.  {

3.    var n = []; //一个新的临时数组

4.    for(var i = 0; i < this.length; i++) //遍历当前数组

5.    {

6.           //如果当前数组的第i已经保存进了临时数组,那么跳过,

7.           //否则把当前项push到临时数组里面

8.           if (n.indexOf(this[i]) == -1) n.push(this[i]);

9.    }

10.  return n;

11.}

12.Array.prototype.unique2 = function()

13.{

14.  var n = {},r=[]; //n为hash表,r为临时数组

15.  for(var i = 0; i < this.length; i++) //遍历当前数组

16.  {

17.         if (!n[this[i]]) //如果hash表中没有当前项

18.         {

19.                 n[this[i]] = true; //存入hash表

20.                 r.push(this[i]); //把当前数组的当前项push到临时数组里面

21.         }

22.  }

23.  return r;

24.}

25.Array.prototype.unique3 = function()

26.{

27.  var n = [this[0]]; //结果数组

28.  for(var i = 1; i < this.length; i++) //从第二项开始遍历

29.  {

30.         //如果当前数组的第i项在当前数组中第一次出现的位置不是i,

31.         //那么表示第i项是重复的,忽略掉。否则存入结果数组

32.         if (this.indexOf(this[i]) == i) n.push(this[i]);

33.  }

34.  return n;

35.}

9、使用flex布局完毕三等分,左右多少个因素分别贴到右边和右手,垂直居中

flex{1} flex{1} flex{1}

10、平常怎么学前端的,看了怎么着书,关切了怎么样群众号

二面

1、  说下对this的理解

http://www.jb51.net/article/77519.htm

2、  实现bind函数

http://blog.csdn.net/u010552788/article/details/50850453手写bind()函数,精晓MDN上的规范Polyfill,bind和new,柯里化)

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Function/bind
(bind mdn)

http://www.cnblogs.com/libin-1/p/6069031.html(理解JS中的apply,call和bind方法)

http://www.cnblogs.com/admos/p/4453259.html  (bind函数使用apply的贯彻)

3、数组和链表差异,分别适合哪些数据结构

数组的性状是快捷随机走访
链表的特点是连忙插入删除

4、对mvc的理解

5、描述一个纪念最深的类型,在里边充当的角色,解决什么难题

6、http状态码。。。401和403区别?

400(错误请求)

服务器不理解请求的语法。

401(未授权)

请求要求身份验证。对于登录后请求的网页,服务器可能返回此响应。

403(禁止)

服务器拒绝请求。

1xx(临时响应)2xx(成功)3xx(重定向)4xx(请求错误)5xx(服务器错误)

7、  描述下二分查找

http://www.cnblogs.com/zuojiayi/p/6229902.html

8、  在函数中行使array.prototype.slice.call(arguments,1);的法力?

arguments是每个函数在运转的时候自动得到的一个像样数组的目标(传入函数的参数从0起先按数字排列,而且有length)。比如当您
func(‘a’, ‘b’, ‘c’) 的时候,func里面获得的arguments[0] 是
‘a’,arguments[1] 是
‘b’,依次类推。但难点在于这些arguments对象实际并不是Array,所以并未slice方法。Array.prototype.slice.call(
)可以直接对其已毕slice的机能,而且回去的结果是确实的Array。

http://www.cnblogs.com/dingxiaoyue/p/4948166.html

https://www.zhihu.com/question/21351604

三面

1、为啥选拔前者,如何学习的,看了什么书,《js高级程序设计》和《你不理解的js》有怎么样不相同,看书,看博客,看群众号三者的年月是何许分配的

2、怎么样评价bat

3、描述下在实习中做过的一个档次,解决了什么样难点,在其中担任了如何角色?那些进度存在什么问题,有怎样值得立异的地点

4、如何对待加班,即使有个项目要求延续一个月加班,你怎么看

5、碰着的下压力最大的一件事是何等?怎么样解决的

6、平时有如何爱好

7、自身有待革新的地方

8、n长的数组放入n-1个数,无法再次,找出分外缺失的数

思路:数组之和减去自然数之和,结果就是可怜重复的。

等差数列求和公式

 

 

9、手里有什么offer

10、你对于第一份工作最着重的多个方面是如何

11、怎样评论现在的前端

12、有怎么着难点

一早上面了邻近八个时辰落成了三面,当天夜间就接收了三面面试官的对讲机说面试通过了,炒鸡笑容可掬,校招这么久以来接受的率先个offer~后来又打听到是凤巢部门,于是就决定去那里了

 

 

7-28

1:JS异步开发教程

https://meathill.gitbooks.io/javascript-async-tutorial/content/

 

7-31

1:自己的产品

2:JavaScript创建对象的三种艺术

http://blog.csdn.net/u010552788/article/details/50849191

3:书总括一下 技术之瞳/react/JS高级/你不精晓的JS

4:

 

1、手写jsonp的实现

2、手写链表尾数第K个查找

 

搜索单链表倒数第m个结点,需要时间复杂度为O(n).(提醒,使用双指南针)


解题思路: 
例行思路为先拿走链表的长度N,然后重临N-k+1地方处的结点即可。然则中须求遍历几次链表。 
咱俩选取另一种算法,设定八个指针p1,p2.将那多少个指针都向第三个结点,让p1先走k步,然后多个指针一起向后移动,当p1到达最终一个结点时,p2指针刚好指向链表的倒数第k个结点。

 

3、  http请求行,请求头,请求体,cookie在哪个里面?url在哪儿面?

http://blog.csdn.net/u010256388/article/details/68491509

cookie在呼吁头,url就像是在请求行?

4、  原型链的分解

原型链是作为贯彻持续的严重性措施,基本考虑是利用原型让一个引用类型继承另一个引用类型的特性和艺术。

5、 
对闭包的知情,完结一个爆出内部变量,而且外部可以访问修改的函数(get和set,闭包落成)

http://blog.csdn.net/baple/article/details/42495361

祥和写得set的事例

var f1 = function (x) {

         var a = 1;

         function f2 (b){

                   a =  a+b ;

                   return a

         }

         return f2

 }

 

var x = f1();

var xx = x(2);

闭包就是能够读取其余函数内部变量的函数

7、{}=={}?   []==[]? null==undefined?

{} == {} false

[] == [] false

null == undefined true

null == null true

undefined == undefined true

解答

[] == [] 那些好精通. 当五个值都是目的 (引用值) 时,
比较的是八个引用值在内存中是不是是同一个对象. 因为此 [] 非彼 [],
就算同为空数组, 确是八个互不相干的空数组, 自然 == 为 false.

 

null 表示一个值被定义了,定义为“空值”;
undefined 表示平昔不设有定义。

为此设置一个值为 null 是合情合理的,如
objA.valueA = null;
但设置一个值为 undefined 是不客观的

 

6、  基本的数据类型

ECMAScript中有5中概括数据类型(也号称基本数据类型): UndefinedNullBooleanNumberString。还有1中复杂的数据类型————ObjectObject本质上是由一组无序的名值对组合的。Array,Date,Function+基本包装类Number,String,Boolean均归于Object

 

7、  基本的两列自适应布局

发觉有了position的属性,不再与正规文档流中的元素相互影响

.sub, .extra {

    position: absolute;

    top: 0;

    width: 200px;

}

.sub {

    left: 0;

    background-color: yellow;

}

.extra {

    right: 0;

    background-color: black;

}

.main {

background-color: blue;

    margin: 0 200px;

}

<div class=”sub”>left</div>

<div class=”main”>main</div>

<div class=”extra”>right</div>

 

11、OSI模型,HTTP,TCP,UDP分别在哪些层

OSI 分层( 7 层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层

物理层与数量链路层为地点的协议族提供服务大家一般很少接触。IP在互连网层,TCP/UDP在传输层,应用层一般是大家平日接触的东西HTTP在选取层ARP(地址解析协议)在链路层

12、网站质量优化

CDN是怎么着?使用CDN有啥优势?

https://www.zhihu.com/question/36514327

13、快排的时光复杂度和空间复杂度。

var quicksort = function(arr){

         if(arr.length<=1){

                   return arr

         }

         var num = Math.floor(arr.length/2);

         var item = arr.splice(num,1);  

         var arrleft=[];

         var arrright=[];

         for (var i = 0; i < arr.length; i++) {

                   if(arr[i]<item[0]){

                            arrleft.push(arr[i]);

                   }

                   else{

                            arrright.push(arr[i]);

                   }

         }

         return
quicksort(arrleft).concat(item[0],quicksort(arrright));

}

 

console.log(quicksort([1,2,3,5,4]));

瞩目一下i < arr.length无法是<=,否则有一个undefined就会极其循环

一面问的基础知识很多,可是基本都答出来了,面完后有些蒙逼。

二面是一位女面试官,给的压力很大,人可比严肃,不苟言笑,后来听说二面是压力面,二面问了50分钟。

2、在jquery方法和原型上边添加方法的界别和兑现($.extend,$.fn.extend),以及jquery对象的完毕(return
new jQuery.fn.init)

http://caibaojian.com/jquery-extend-and-jquery-fn-extend.html

为jQuery类添加类方法,可以领会为添加静态方法

对jQuery.prototype进得扩大,就是为jQuery类添加“成员函数”。jQuery类的实例可以拔取那些“成员函数”。

 

jQuery 2.0.3 源码分析core –
全体架构

http://www.cnblogs.com/aaronjs/p/3278578.html

3、手写一个递归函数(考察arguments.callee,以及arguments的诠释)

// arguments.callee 是一个针对正在举办函数的指针

function factorial(num)

{ if (num <= 1) { return 1; }

else { return num * arguments.callee(num – 1); } }

caller

在一个函数调用另一个函数时,被调用函数会自动生成一个caller属性,指向调用它的函数对象。借使该函数当前未被调用,或不用被其余函数调用,则caller为null。

 callee

当函数被调用时,它的arguments.callee对象就会针对自身,也就是一个对友好的引用。
由于arguments在函数被调用时才使得,由此arguments.callee在函数未调用时是不设有的(即null.callee),且解引用它会发出相当。

 

4、对前者路由的明白?前后端路由的分别?

1,什么是前端路由?
路由是基于不一致的 url 地址浮现不相同的内容或页面
前者路由就是把分化路由对应区其余情节或页面的义务交给前端来做,此前是通过服务端依据url 的两样重临差其余页面落成的。
2,什么时候利用前端路由?
在单页面应用,半数以上页面结构不变,只改变部分情节的接纳

3,后端路由:

每跳转到区其他URL,都是重复访问服务端,然后服务端重回页面,页面也得以是服务端获取数据,然后和模板组合,重回HTML,也足以是直接再次来到模板HTML,然后由前端js再去乞求数据,使用前端模板和数据举办整合,生成想要的HTML。

4.5、怎么样记住OSI七层协议模型

http://blog.csdn.net/hellochenlu/article/details/52895341

Physical Data Link Network Transport Session Presentation
Application

5、介绍一下webpack和gulp,以及项目中具体的使用

http://www.cnblogs.com/lovesong/p/6413546.html

6、你对es6的了解

http://www.alloyteam.com/2016/03/es6-front-end-developers-will-have-to-know-the-top-ten-properties/comment-page-1/#comments

  1. Default Parameters(默许参数) in ES6
  2. Template Literals (模板文本)in ES6
  3. Multi-line Strings (多行字符串)in ES6
  4. Destructuring Assignment (解构赋值)in ES6
  5. Enhanced Object Literals (增强的对象文本)in ES6
  6. Arrow Functions (箭头函数)in ES6
  7. Promises in ES6
  8. Block-Scoped Constructs Let and Const(块成效域构造Let and Const)
  9. Classes(类) in ES6
  10. Modules(模块) in ES6

7、解释一下vue和react,以及异同点

https://www.zhihu.com/question/31585377

学习一下vue

8、  前后端分离的意义以及对前者工程化的知情

https://www.zhihu.com/question/28207685 –前后端分离

https://www.zhihu.com/question/24558375 –前端工程化紧要应该从

模块化:webpack解惑:require的两种用法

组件化:组件化实际上是一种依照模板(HTML)+样式(CSS)+逻辑(JS)三位一体的款式对面向对象的越来越抽象

规范化:规范化其实是工程化中很重大的一个有的,项目中期规范制定的好坏会间接影响到后期的成本质量。

本身能想到的有以下一些情节:

目录结构的制订

编码规范

上下端接口规范

文档规范

零件管理

Git分支管理

Commit描述规范

定期CodeReview

视觉图标规范

自动化:我觉得,前端工程化的很多脏活累活都应该提交自动化工具来达成。

### 图标合并

无须再用PS拼Pepsi-Cola图了,统一走Webpack吧;

毫不再用Icomoon了,统一走Webpack吧。

### 持续集成

### 自动化打造

### 自动化安插

### 自动化测试

10、使用css完毕一个三角

#triangle-up {
    width: 0;
    height: 0;
    border-left: 50px solid transparent;
    border-right: 50px solid transparent;
    border-bottom: 100px solid red;
}

宽窄一定要为0,left,right是三角形的骨干往左往右长度;bottom是三角形的高;

10.5CSS3D效果?

13、解释一下call函数和apply函数的功力,以及用法

1、介绍一下协调

2、你说自己抗压能力强,具体表现在哪儿?

3、对前者前景的展望,未来前端会怎么发展

4、手写第两次面试没有写出来的链表难题,要求用es6写

5、平常是怎么学技术的?

6、平日大学内部时间是怎么统筹的?

7、接下去有怎样安顿?那么些学期和下个学期的安顿是?

8、项目中相遇的难点,或者您读书路上的难题

9、你是透过哪些点子和途径来学学前端的

12、你在集体中更赞成于怎么样角色?

13、对java的理解

14、介绍node.js,并且介绍你用它做的品种

 

百度外卖

 

1、介绍自己

2、手写一个js的深克隆

3、for函数里面set提姆eout异步难点

有关for循环里面异步操作的难点

for 循环中的set提姆eout(function(){})异步难点,为何改var 为let就足以解决?

 深深驾驭JavaScript编程中的同步与异步机制

4、归并排序

 

1、已毕四个数组的排序合并,我一开始先统一再排序,他不乐意,然后自己用了近似插入排序的艺术。

2、手写一个原生ajax

https://segmentfault.com/a/1190000008097712

xmlhttp=newXMLHttpRequest();

xmlhttp.onreadystatechange=state_Change

xmlhttp.open(“GET”,“/example/xdom/note.xml”,true);

xmlhttp.send(null);

function state_Change()

{

if(xmlhttp.readyState==4)

{

`**if** (xmlhttp.status==200)`

{

// 那里应该是函数具体的逻辑“

}

else

{

alert(“Problem retrieving XML data”);

}

}

}

6、手写完毕jquery里面的insertAfter

结合nextSibling和insertBefore来实现

9、  AMD和CMD,commonJS的区别

速龙器重前置;CMD就近看重(就义质量来换取越多付出便民);

NodeJS是CommonJS规范的落到实处;CommonJS的那几个Modules规范设计之初是为了server端设计的,它是一个一块的格局。然而那种情势并不适合于浏览器端,我们着想一下若是浏览器联合形式一个一个加载模块,那么打开将会变得可怜的慢,所以英特尔就是为着这几个诞生,它最大的性状就是足以异步的方法加载模块。(CMD也是异步的)
那么RequrieJS其实就是英特尔现在用的最普遍,最盛行的贯彻。

 

8-1

  1. 饥人谷
  2. 萌鹿简历

 

8-2

  1. 怎么写一个模态框

https://my.oschina.net/aiguozhe/blog/279992

  1. 面试什么的

http://www.cnblogs.com/iceb/p/7238785.html

作者:小芋头君
链接:https://www.zhihu.com/question/41986174/answer/94241086
来源:知乎
小说权归小编所有。商业转发请联系小编获得授权,非商业转发请声明出处。

不讲这些标题有没有含义,在我看来的确没有意义,可是这么些的来源于其实不是在于这一个题材是不是有含义。
而在于

你可以支配面试官问出你擅长回答的标题?

作为一名面试官,我面试过很五人了也算,首先,挑选简历的时候自己就会选拔自己能问出难题的简历,倘使一个简历看了后头我都问不出什么针对性的题材,只好随口问一个“闭包怎么写”那样的标题的话,那么些简历也没怎么面试的要求性了。所以率先关就是,简历有可以让面试官针对性提问的情节,有亮眼的情节,有沉思有计算,这样大家就足以春风得意的开展一场互动互换的面试了,而不是给您一张试卷,你挨个写代码写算法。

下一场,到了实地面试,同样,你必要指引面试官来提问。首先是简历上反映的内容,然后是让您自我介绍的时候,一定要吸引那一个时机!!!!不要说些没用的,你喜爱打球什么的,我都不关怀!!让您自我介绍,是给您一个机会,你来开启一下大家的话题!其实就像于述职,你讲讲你过去一段时间做过的有意义的工作,符合您平素的作业,不管是技术上涨级,仍旧上学了新东西,仍然你带项目作分析,照旧做了哪些优化,做了哪些提高团队成效的工具,或者是您是管理者,你怎么样保管协会,如何升级团队功用,怎样考虑升高协会完全技术力量影响力等等等等。那当成太首要了。

这一个表述都是从你想表现的友爱拥有的地道特质作为源点来统计的,

常常多怀恋下什么样的工程师特质是大家希望看到的,

这个是您要做的,是您要计算的,就是你下次面试的时候要抒发的

 

如若您的简历和你的自我介绍都没什么说头,那不佳意思,为了应付一下,我有个面试题列表,我只得从里头随便挑一条出来问,都是很方式化的题材,其实您回复对了也没卵用,只是会见一下外场而已啦,毕竟这个难点不管google一下就了解操纵了。

说的都是大实话,不管是做面试官,依旧去面试,想通晓自己要发布出哪些事物来,想清楚自己想要得到什么样音信,都无异,凡事就怕用心!

 

8-3

  1. HTTP协议下POST和GET的区别

http://blog.csdn.net/wangzhilife/article/details/12440089

2:浏览器缓存机制

http://www.cnblogs.com/slly/p/6732749.html

3:图片轮播

锋利的JQUERY

C:\Users\Administrator\Downloads\[jb51.net]fengli_jquery\实例下载\04第四章\第四章例子\10-实例

3.5Jquery的show()很简单就可以有从上往下的渐变效果,怎么完结的?

http://www.zhangxinxu.com/wordpress/2012/10/more-display-show-hide-tranisition/

show()使用的css3动画功用从上往下需求中度,Jquery算高度的办法还不知情

4:React拖拽

http://www.cnblogs.com/LuckyWinty/p/5347559.html

5.你领悟哪些是CSS预处理么

CSS 预处理器定义了一种新的语言,其中央考虑是,用一种专门的编程语言,为
CSS 扩充了有的编程的风味,将 CSS
作为目的转移文书,然后开发者就倘使采用那种语言进行编码工作。

深切浅出的说,“CSS 预处理器用一种专门的编程语言,举行 Web
页面样式设计,然后再编译成正常的 CSS 文件,以供项目利用。CSS 预处理器为
CSS 增添部分编程的特性,无需考虑浏览器的包容性难点”,例如你可以在 CSS
中采用变量简单的说的逻辑程序函数(如右边代码编辑器中就使用了变量$color)等等在编程语言中的一些基本特色,可以让您的
CSS 进一步从简适应性更强可读性更佳更便于代码的保安等诸多好处。结构清晰,便于扩大,轻松达成多重继承

6.关于变更的规律和工作方法,你能够描述一下么

扭转元素脱离文档流,不占用空间。浮动元素境遇包罗它的边框或者转移元素的边框停留。

7.扭转会生出什么样震慑吗,要怎么处理?

父元素的惊人不可以被撑开,影响与父元素同级的因素
与转移元素同级的非浮动元素(内联元素)会跟随其后
若非首先个因素浮动,则该因素此前的要素也亟需扭转,否则会潜移默化页面突显的结构

涸泽而渔办法:
使用CSS中的clear:both;属性来排除元素的成形可解决2、3题材,对于难题1,添加如下样式,给父元素添加clearfix样式:

.clearfix:after{content: “.”;display: block;height: 0;clear:
both;visibility: hidden;}

.clearfix{display: inline-block;} /* for IE/Mac */

 

8.您打探哪些采用器?以及这个选择器的使用情形?

9.你领会它们的权重怎么总结么

  1. 首先等:代表内联样式,如: style=””,权值为1000。
  2. 第二等:代表ID选择器,如:#content,权值为100。
  3. 其三等:代表类,伪类和性质选拔器,如.content,权值为10。
  4. 第四等:代表类型拔取器和伪元素拔取器,如div p,权值为1。

12.您从jQuery学到了怎么着?(跳坑了竟说自己看过源代码…然后不会说了..)

16.说说函数表达式和函数申明的分别(变量进步和函数进步)

http://blog.csdn.net/qq673318522/article/details/50810650

18.您精晓attribute和property的分化么

http://www.cnblogs.com/cndotabestdota/p/5706562.html

要素上的特性(包罗自定义)都是attribute,但只有id,title,class等还要也是property,attribute就是DOM元素自带的性能,property是其一元素作为靶子附加的始末,比如firstChild等

19.平时有精通web品质么,一般要关切怎样点?

https://www.zhihu.com/question/21658448 (很重要!!!!!)

21.Tmall那边的商品项,如图片,滚动到了才加载,你通晓怎么落到实处么

题材19的zhihu回答里面有个Lazy Load Images好像有点类似

 

8-4

  1. 前端路由和单页路由?

①  
Backbone单页路由就是用①href=”#xx”或②router.navigate触发路由后实施回调函数,更改模板重新渲染。

②Hash路由的兑现https://segmentfault.com/a/1190000007422616

hash 属性是一个可读可写的字符串,该字符串是 URL 的锚部分(从 #
号初叶的一部分)。

语法:location.hash=anchorname

前者的路由控制:hash和history(HTML5新特性)

js页面刷新跳转的二种艺术及界别

http://blog.csdn.net/fb408487792/article/details/41248675

window.location.href=”http://shanghepinpai.com“; 

a标签的href=”javascript:void(0)”和href=”#”的区别

http://www.cnblogs.com/pp-cat/p/4308736.html

设若页面里面有id为nogo的元素,点击这一个链接后,锚点机制会功效,页面贴齐那个元素上缘

  1. 牛客网校招日历

https://www.nowcoder.com/activity/campus2018

  1. ES6解构赋值,箭头函数

http://es6.ruanyifeng.com/\#docs/destructuring

字符串也得以解构赋值。那是因为那时候,字符串被转换成了一个好像数组的靶子。

Object(‘abc’) // {0: “a”, 1: “b”, 2: “c”, length: 3, [[PrimitiveValue]]: “abc”}

 

let arr = [1, 2, 3];
let {0 : first, [arr.length – 1] : last} = arr;
first // 1
last // 3

4:廖雪峰JS

https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/0014345008539155e93fc16046d4bb7854943814c4f9dc2000

  1. console.trace()会打印出函数调用栈的音信

 

8-7

1:js关于for循环中的闭包难点?

for(var i=0,arr=[];i<=3;i++) {
arr.push(function(){alert(i)});
}
arr[0](); // ?? 结果不是0
arr[1](); // ?? 全是4
改装后
for(var i=0,arr=[];i<=3;i++) {
arr.push(
(function(i){
return function(){
alert(i);
}
})(i)
);
}
拔取闭包可以缓解了,为何首次代码中的i读取的直接是I变量的末梢的结果吧?
丰盛大神能给分析一下首先段代码的施行的具体步骤呢?

https://www.zhihu.com/question/33468703

 

2:为啥须求闭包呢

有的变量不可以共享和悠久的保存,而全局变量可能引致变量污染,所以大家目的在于有一种机制既可以短期的保存变量又不会导致全局污染。

特点

占据愈多内存

不便于被放飞

曾几何时使用

既想反复使用,又想避免全局污染

哪些选择

1.概念外层函数,封装被保证的有的变量。
2.概念内层函数,执行对外表函数变量的操作。
3.外层函数重临内层函数的靶子,并且外层函数被调用,结果保存在一个大局的变量中。

https://zhuanlan.zhihu.com/p/27857268

 

3:

var k = (function fun(x) {

if(x>0) {

    x–;

    console.log(x);

} else{

         console.log(“lala”);

   return “lala”;

}

    fun(x); 

})(3)

console.trace(k);

为什么打印结果是undefined?

 

k就是你的fun(3)fun(3) 根据你代码,没有显式给出重返值,默认就是回来的 undefined 。

万一你要做递归的话,应该 给 里面的 fun(x) 加上 return
变成 return fun(x); 如此就能让k为 lala了。

 

4:
a标签的href=”javascript:void(0)”和href=”#”的区别

http://www.cnblogs.com/pp-cat/p/4308736.html

假使页面里面有id为nogo的要素,点击这几个链接后,锚点机制会功能,页面贴齐那一个元素上缘

 

5:依旧真弄一下原生JS和JQUERY 然后从文章出手写一个工程

廖雪峰+MDN+JS高级+你不清楚的JS+JQUERY

 

6:廖雪峰

1.字符串:多行字符串,模板字符串

2.对象:

中括号运算符总是能代表点运算符。但点运算符却不自然能一体替代中括号运算符。
中括号运算符可以用字符串变量的情节作为属性名。点运算符不可能。

var test={aa:12,bb:34};//或者var test={};

var cc= “acqId”

test[cc]=12;

test[“cc”]=13;

console.log(test[cc]);//13

console.log(test[“cc”]);//12

console.log(test[aa]);//报错
中括号运算符可以用纯数字为属性名。点运算符不可以。
中括号运算符可以用js的主要字和保留字作为属性名。点运算符不可能。

 

假定大家要检测xiaoming是还是不是具备某一性质,可以用in操作符:

‘name’`**in** xiaoming; // `true

唯独要小心,假如in看清一个品质存在,这些特性不肯定是xiaoming的,它可能是xiaoming接轨取得的:

‘toString’`**in** xiaoming; // `true

因为toString定义在object目标中,而有所目的最后都会在原型链上指向object,所以xiaoming也拥有toString属性。

要认清一个质量是或不是是xiaoming本身具有的,而不是后续取得的,可以用hasOwnProperty()方法:

xiaoming.hasOwnProperty(‘name’);//true

for…in 言语用于遍历数组或者目标的习性

 

8-8

3.ES6新类型Map和Set

开头化Map须求一个二维数组,或者直接开首化一个空Map。Map具有以下方法:

var m = new Map(); // 空Map

m.set(‘Adam’, 67); // 添加新的key-value

m.set(‘Bob’, 59);

m.has(‘Adam’); // 是还是不是留存key ‘Adam’: true

m.get(‘Adam’); // 67

m.delete(‘Adam’); // 删除key ‘Adam’

m.get(‘Adam’); // undefined

var m = new Map([[‘Michael’, 95], [‘Bob’, 75], [‘Tracy’,
85]]);

不同于object的是JavaScript的对象有个小标题,就是键必须是字符串。但实际Number或者别的数据类型作为键也是不行合理的。

Map是一组键值对的协会,具有极快的搜索速度。

 

Set

SetMap如同,也是一组key的集结,但不存储value。是因为key不可以再度,所以,在Set中,没有重新的key。

要创造一个Set,需求提供一个Array作为输入,或者直接成立一个空Set

vars1 =newSet();// 空Set

vars2 =newSet([1,2,3]);// 含1, 2, 3

通过add(key)方法可以添英镑素到Set中,可以重复添加,但不会有效益:

>>> s.add(4)

>>> s

{1,2,3,4}

>>> s.add(4)

>>> s

{1,2,3,4}

通过delete(key)艺术可以去除元素:

 

ES6专业引入了新的iterable类型,ArrayMapSet都属于iterable类型。

具有iterable类型的汇聚可以通过新的for ... of循环来遍历。

for ... of巡回是ES6引入的新的语法

 

您可能会有疑难,for ... of循环和for ... in巡回有啥不一样?

for ... in巡回由于历史遗留难点,它遍历的其实是目的的属性名称。一个Array数组实际上也是一个对象,它的各样元素的目录被视为一个质量。

当大家手动给Array对象添加了附加的习性后,for ... in循环将牵动意料之外的奇怪效果:

for ... of巡回则一心修复了那一个难题,它只循环集合本身的因素:

 

这就是怎么要引入新的for ... of循环。

只是,更好的形式是直接选拔iterable内置的forEach艺术,它接受一个函数,每趟迭代就机关回调该函数。以Array为例:

vara = [‘A’,‘B’,‘C’];

a.forEach(function (element, index, array) {“

// element: 本着当前元素的值

// index: 本着当前目录

// array: 指向Array对象自我

alert(element);

});

SetArray类似,但Set从没索引,由此回调函数的前多少个参数都是因素本身

 

  1. 函数

 

①作用域

名字空间

全局变量会绑定到window上,不一致的JavaScript文件若是利用了相同的全局变量,或者定义了同样名字的顶层函数,都会促成命名争执,并且很难被发现。

削减争论的一个主意是把温馨的所有变量和函数全体绑定到一个全局变量中。例如:

// 唯一的大局变量MYAPP:

varMYAPP = {};

// 此外变量:

MYAPP.name
=
‘myapp’;

MYAPP.version
=
1.0;

// 其余函数:

MYAPP.foo
=
function () {“

`**return** 'foo';`

};

把自己的代码全体放入唯一的名字空间MYAPP中,会大大裁减全局变量争辩的或许。

不少盛名的JavaScript库都是那样干的:jQuery,YUI,underscore等等。

 

②变量

由于varlet评释的是变量,即使要阐爱他美个常量,在ES6此前是丰裕的,大家日常用任何大写的变量来表示“那是一个常量,不要涂改它的值”:

varPI =3.14;

ES6正式引入了新的主要字const来定义常量,constlet都兼备块级作用域:

‘use strict’;

constPI =3.14;

PI
=
3;// 一点浏览器不报错,不过无效果!

PI;// 3.14

⑤目的方法的this

万一以目标的办法方式调用,比如xiaoming.age(),该函数的this针对被调用的对象,也就是xiaoming,那是适合大家预料的。

假如单独调用函数,比如getAge(),此时,该函数的this针对全局对象,也就是window

坑爹啊!

更坑爹的是,假如那样写:

var fn = xiaoming.age; // 先拿到xiaoming的age函数

fn(); // NaN

也是极度的!要确保this针对正确,必须用obj.xxx()的花样调用!

 

稍加时候,喜欢重构的您把艺术重构了一晃:

‘use strict’;

varxiaoming = {

name:‘小明’,

birth:1990,

age:function () {“

function getAgeFromBirth() {“

`**var** y = **new** Date().getFullYear();`

`**return** y – **this**.birth;`

}

`**return** getAgeFromBirth();`

}

};

xiaoming.age();// Uncaught TypeError: Cannot read property ‘birth’
of undefined

结果又报错了!原因是this指南针只在age办法的函数内指向xiaoming,在函数内部定义的函数,this又指向undefined了!(在非strict情势下,它再也指向全局对象window!)

修复的办法也不是从未有过,大家用一个that变量首先捕获this

‘use strict’;

varxiaoming = {

name:‘小明’,

birth:1990,

age:function () {“

`**var** that = **this**; `//
在点子内部一开头就破获this

function getAgeFromBirth() {“

`**var** y = **new** Date().getFullYear();`

`**return** y – that.birth; `// 用that而不是this

}

`**return** getAgeFromBirth();`

}

};

xiaoming.age();// 25

var that = this;,你就可以放心地在格局内部定义其余函数,而不是把具有语句都堆到一个艺术中。

 

装饰器

利用apply(),我们还足以动态改变函数的作为。

JavaScript的装有目的都是动态的,即使内置的函数,大家也足以另行指向新的函数。

现行如果大家想计算一下代码一共调用了有点次parseInt(),可以把所有的调用都找出来,然后手动加上count += 1,不过如此做太傻了。最佳方案是用大家温馨的函数替换掉默许的parseInt()

varcount =0;

varoldParseInt = parseInt;// 封存原函数

window.parseInt =function () {“

count +=1;

`**return** oldParseInt.apply(null, arguments); `//
调用原函数

};

// 测试:

parseInt(’10’);

parseInt(’20’);

parseInt(’30’);

count;// 3

 

⑥高阶函数(参数里有函数的函数比如array.map)

Array.reduce

万一我们后续立异那么些事例,想方法把一个字符串13579先变成Array——[1, 3, 5, 7, 9],再利用reduce()就足以写出一个把字符串转换为Number的函数。

爱屋及乌到的题材是:将字符串变成数字的隐式转换(符号)

‘use strict’;

var arr = [‘1’, ‘2’, ‘3’];

var r;

r = arr.map(parseInt);

[1, NaN, NaN]

出于map()接收的回调函数可以有3个参数:callback(currentValue, index,
array),平常大家仅要求首先个参数,而忽视了传播的末端八个参数。不幸的是,parseInt(string,
radix)没有忽视首个参数,导致实际执行的函数分别是:

parseInt(‘0’, 0); // 0, 按十进制转换

parseInt(‘1’, 1); // NaN, 没有一进制

parseInt(‘2’, 2); // NaN, 按二进制转换不允许现身2

可以改为r = arr.map(Number);,因为Number(value)函数仅收取一个参数。

 

Filter()

Arrayfilter()也接到一个函数。和map()今非昔比的是,filter()把传播的函数依次功用于每个元素,然后依据再次回到值是true还是false控制封存依旧甩掉该因素。

能够用来数组去重

 

箭头函数对this的震慑

this

箭头函数看上去是匿名函数的一种简写,但骨子里,箭头函数和匿名函数有个举世瞩目的界别:箭头函数内部的this是词法功能域,由上下文确定。

回看前面的事例,由于JavaScript函数对this绑定的错误处理,上边的例证无法得到预期结果:

varobj = {

birth:1990,

getAge:function () {“

`**var** b = **this**.birth; `// 1990

`**var** fn = `function () {“

`**return** **new** Date().getFullYear() – **this**.birth; `//
this指向window或undefined

};

`**return** fn();`

}

};

今昔,箭头函数完全修复了this的指向,this连接指向词法功效域,也就是外围调用者obj

varobj = {

birth:1990,

getAge:function () {“

`**var** b = **this**.birth; `// 1990

`**var** fn = () => **new** Date().getFullYear() – **this**.birth; `//
this指向obj对象

`**return** fn();`

}

};

obj.getAge();// 25

一经运用箭头函数,从前的那种hack写法:

varthat =this;

就不再须求了。

由于this在箭头函数中一度根据词法效用域绑定了,所以,用call()或者apply()调用箭头函数时,不能够对this拓展绑定,即传入的首个参数被忽略:

varobj = {

birth:1990,

getAge:function (year) {“

`**var** b = **this**.birth; `// 1990

`**var** fn = (y) => y – **this**.birth; `//
this.birth仍是1990

`**return** fn.call({birth:2000}, year);`

}

};

obj.getAge(2015);// 25

 

Generator

generator(生成器)是ES6规范引入的新的数据类型。一个generator看上去像一个函数,但足以回来多次。

 

标准对象

计算一下,有诸如此类几条规则需求听从:

1.毫无采取new Number()new Boolean()new String()创建包装对象;

2.用parseInt()parseFloat()来更换任意档次到number

3.用String()来更换任意档次到string,或者直接调用某个对象的toString()方法;

4.平凡不必把自由类型转换为boolean再判断,因为可以直接写if (myVar) {...}

5.typeof操作符可以判定出numberbooleanstringfunctionundefined

6.判断Array要使用Array.isArray(arr)

7.判断null请使用myVar === null

8.断定某个全局变量是不是留存用typeof window.myVar === 'undefined'

9.函数之中判断某个变量是或不是留存用typeof myVar === 'undefined'

10.终极有密切的同窗指出,任何对象都有toString()方法吗?nullundefined就从未有过!确实那样,那八个独特值要除外,纵然null还伪装成了object类型。

更仔细的同窗提出,number目的调用toString()报SyntaxError:

123.toString();//SyntaxError“

赶上这种景观,要卓越处理一下:

123..toString();//`'123', `注意是两个点!

(123).toString();//‘123’“

无须问何故,那就是JavaScript代码的童趣!

 

JSON

序列化

JSON.stringify(xiaoming, null, ‘  ‘);

即使大家还想要精确控制什么连串化小明,可以给xiaoming概念一个toJSON()的措施,直接重回JSON应该体系化的数目

反种类化

获得一个JSON格式的字符串,大家一向用JSON.parse()把它变成一个JavaScript对象

 

 

插一句:CSS 动画实战:创建一个上佳的加载动画

http://svgtrick.com/tricks/7ecdbe287454e03bcbe6d36c3ee584bc

 

8-9

  1. 知识点总括

https://github.com/BearD01001/front-end-QA-to-interview#new%E6%93%8D%E4%BD%9C%E7%AC%A6%E5%85%B7%E4%BD%93%E5%B9%B2%E4%BA%86%E4%BB%80%E4%B9%88%E5%91%A2

  1. New关键字的长河

行使new关键字调用函数(new ClassA(…))的具体步骤:

  1. 开创空对象;
      var obj = {};

2.
设置新对象的constructor属性为构造函数的称号,安装新对象的__proto__特性指向构造函数的prototype对象;   obj.__proto__ = ClassA.prototype;

  1. 使用新对象调用函数,函数中的this被指向新实例对象:
      ClassA.call(obj);  //{}.构造函数();    

就是obj执行四次构造函数,把品质什么的经过this.xx =xx;给obj。      

  1. 将初叶化达成的新目的地址,保存到等号左侧的变量中

 

与此同时注意,调用构造函数千万决不忘记写new。为了不一样普通函数和构造函数,根据约定,构造函数首字母应当大写,而普通函数首字母应当小写,那样,一些语法检查工具如jslint将可以帮你检测到漏写的new

 

只顾:若构造函数中回到this或再次回到值是主题类型(number、string、boolean、null、undefined)的值,则赶回新实例对象;若重返值是引用类型的值,则实在重临值为这些引用类型。

 

关于prototype和__proto__的关系

摘自JS高级:

 

咱俩成立的每个函数都有一个prototype属性,这几个特性是一个指针,指向一个目的,而以此目的的用途是含有可以由特定类型的具备实例共享的习性和办法。

Constructor(构造函数)属性包罗的是一个对准prototype所在函数的指针,通过这些构造函数可以再而三为原型对象添加方法和特性。

        
而当调用构造函数创立一个实例之后,该实例将包涵一个指针叫做[prototype],也就是浏览器协助下的__proto__;

 
例如Array.prototype.slice.call();实际上Array就是一个构造函数啦!所以用的是prototype。

 

3.class继承

咱俩先想起用函数完成Student的方法:

function Student(name) {“

`**this**.name = name;`

}

Student.prototype.hello
=
function () {“

alert(‘Hello, ‘+this.name +‘!’);

}

一旦用新的class首要字来编排Student,可以这么写:

classStudent {

constructor(name) {

`**this**.name = name;`

}

hello() {

alert(‘Hello, ‘+this.name +‘!’);

}

}

最后,制造一个Student目的代码和前面章节完全相同:

varxiaoming =newStudent(‘小明’);

xiaoming.hello();

class继承

class概念对象的另一个伟人的利益是后续更有益于了。想一想大家从Student派生一个PrimaryStudent亟待编制的代码量。现在,原型继承的中间对象,原型对象的构造函数等等都不须要考虑了,直接通过extends来实现:

classPrimaryStudentextendsStudent {

constructor(name, grade) {

`**super**(name); `// 纪念用super调用父类的构造方法!

`**this**.grade = grade;`

}

myGrade() {

alert(‘I am at grade ‘+this.grade);

}

}

注意PrimaryStudent的概念也是class关键字贯彻的,而extends则表示原型链对象来自Student。子类的构造函数可能会与父类不太一样,例如,PrimaryStudent需要namegrade八个参数,并且需求通过super(name)来调用父类的构造函数,否则父类的name属性不可能正常开端化。

PrimaryStudent早已自行得到了父类Studenthello情势,大家又在子类中定义了新的myGrade方法。

ES6引入的class和原始的JavaScript原型继承有何分歧吗?实际上它们从不其它不一样,class的机能就是让JavaScript引擎去贯彻原来需求大家协调编排的原型链代码。简单的说,用class的利益就是大幅度地简化了原型链代码。

 

练习

 

请利用class再一次定义Cat,并让它从已部分Animal延续,然后新增一个格局say(),重回字符串'Hello, xxx!'

class Animal {

    constructor(name) {

        this.name = name;

    }

}

class Cat extends Animal{

     constructor(name){

          super(name);

}

 

    say(){

       return `Hello, ${this.name}!`

}

}

var kitty = new Cat(‘Kitty’);

 

4.浏览器对象

window

navigator

screen

location

document

history

location.href是一个属性,要这么使用:
location.href=’http://www.example.com‘而location.assign(‘http://www.example.com‘)就location.href=’http://www.example.com‘至于location.replace(‘http://www.example.com‘)与前两者的差别是,在replace其后,浏览历史就被清空了(href与assign方法会爆发历史记录)。

 

5.操作DOM

出于HTML文档被浏览器解析后就是一棵DOM树,要转移HTML的布局,就必要通过JavaScript来操作DOM。

 

在操作一个DOM节点前,大家必要经过种种方法先获得这么些DOM节点。最常用的法子是document.getElementById()document.getElementsByTagName(),以及CSS选择器document.getElementsByClassName()

 

其次种形式是选用querySelector()querySelectorAll(),要求明白selector语法,然后选取标准来收获节点,尤其方便.

 

从严地讲,大家那里的DOM节点是指Element,然则DOM节点实际上是Node,在HTML中,Node包括ElementCommentCDATA_SECTION等许三种,以及根节点Document类型,可是,绝大多数时候我们只关怀Element,也就是实际控制页面结构的Node,其余项目标Node疏忽即可。根节点Document曾经自行绑定为全局变量document

 

6.更新DOM

一种是修改innerHTML属性,
第三种是修改innerTexttextContent属性,那样可以活动对字符串举行HTML编码,保证不可能设置任何HTML标签

 

修改CSS也是经常须求的操作。DOM节点的style属性对应所有的CSS,可以一向拿走或设置。因为CSS允许font-size如此的名号,但它并非JavaScript有效的属性名,所以要求在JavaScript中改写为驼峰式命名fontSize

//
``获取
<p id=”p-id”>...</p>“

var
p = document.getElementById('p-id');

//
``设置CSS:

p.style.color
= '#ff0000';

p.style.fontSize
= '20px';

p.style.paddingTop
= '2em';

  1. 插入DOM

有多少个方法可以插入新的节点。一个是应用appendChild,把一个子节点添加到父节点的末梢一个子节点。

 

万一我们要把子节点插入到指定的职位怎么做?可以行使parentElement.insertBefore(newElement, referenceElement);,子节点会插入到referenceElement之前。

 

  1. 删除DOM

要删减一个节点,首先要博得该节点本身以及它的父节点,然后,调用父节点的removeChild把温馨删掉:

// 获得待删除节点:

var`**self** = document.getElementById('to-be-removed');`

// 得到父节点:

var`**parent** = **self**.parentElement;`

// 删除:

varremoved =parent.removeChild(self);

removed
===
self;// true

在意到删除后的节点即使不在文档树中了,但实际它还在内存中,可以每日再一次被添加到其余地方。

 

 

MDN- ChildNode.remove()

ChildNode.remove() 方法把从它所属的DOM树中去除对象。

<div id=”div-01″>Here
is div-01
</div>“

<div id=”div-02″>Here
is div-02
</div>“

<div id=”div-03″>Here
is div-03
</div>

varel=document.getElementById(‘div-01’);“

el.nextElementSibling.remove();“

// id 为 ‘div-02’ 的 div 被删掉了

 

8-10

  1. 操作表单

 

提交表单

 

注意到idmd5-password<input>标记了name="password",而用户输入的idinput-password<input>没有name属性。没有name属性的<input>的多寡不会被提交。

 

  1. 操作文件

在HTML表单中,可以上传文件的绝无仅有控件就是<input type=”file”>。

注意:当一个表单包蕴<input
type=”file”>时,表单的enctype必须指定为multipart/form-data,method必须指定为post,浏览器才能科学编码并以multipart/form-data格式发送表单的数目。

出于安全着想,浏览器只同意用户点击<input
type=”file”>来挑选地面文件,用JavaScript对<input
type=”file”>的value赋值是未曾其它效果的。当用户挑选了上传某个文件后,JavaScript也无法取得该公文的真实性路径:

File API

是因为JavaScript对用户上传的文件操作越发有限,更加是力不从心读取文件内容,使得众多需求操作文件的网页不得不用Flash那样的第三方插件来落到实处。

乘机HTML5的普及,新增的File
API允许JavaScript读取文件内容,得到更加多的文件新闻。

HTML5的File
API
提供了FileFileReader多少个首要目的,可以博得文件新闻并读取文件。

下边的事例演示了何等读取用户挑选的图纸文件,并在一个<div>中预览图像

  1. 我评价

推荐语:本人本科时期是数学专业的,由于对电脑编程的钟爱,博士转向总括机系,两年时光的系列支出经历,使得自己的编程能力有了很大的抓好。技术上边熟谙领会数据结构、操作系统、总结机网络;并对基本算法及常用设计情势有较好的操纵。谙习领会Java语言及其高级特性,包含集合、I/O流、反射、四线程并发;并对JVM基本原理有一定的问询。熟悉驾驭JavaWeb技术,包罗JSP、JavaScript、Servlet、Session、Filter、Listener、JDBC等技巧。熟稔MVC开发方式以及SSH、MyBatis、SpringMVC等JavaEE主流开发框架;具有JavaWeb和.NET开发经历;并对Lucene、JBPM、WebService、Nginx有一定的摸底。熟习运用SQL
Server、MySql数据库,熟习数据库事务特性及数据库连接池;了解MySQL数据库的优化;并对Redis有必然的问询。了然Linux常见操作命令,Maven项目打造及大旨的分布式开发原理。其它,在本科和研究生时期,成绩卓越,积极加入校内校外实践活动,并数十次拿走奖学金,其中将级奖学金四次,硕士学业奖学金三回。语言方面通过CET-4和CET-6,具备阅读英文文献和基本的调换能力。在毕业来临之际,希望自己能有机遇和理想的得体员工共同学习发展,共同创立下一个英雄的时期!

 

  1. VUE的学习

 

评释式渲染

 

Vue.js 的中坚是一个同意选择简单的模版语法来申明式的将数据渲染进 DOM:

<div id="app-2">

  <span v-bind:title="message">

    鼠标悬停几秒钟查看此处动态绑定的提示信息!

  </span>

</div>

 

var app2 = new Vue({

  el: ‘#app-2’,

  data: {

    message: ‘页面加载于 ‘ + new Date()

  }

})

鼠标悬停几分钟查看此处动态绑定的提示音信!

此处大家相见点新东西。你看来的 v-bind 属性被称作指令。指令带有前缀 v-,以象征它们是
Vue 提供的万分规属性。可能你已经猜到了,它们会在渲染的 DOM
上应用特其他响应式行为。简言之,这里该指令的法力是:“将那个元素节点的 title 属性和
Vue 实例的 message 属性保持一致”。

 

8-11

1.react的extends语法(MDN)

使用 extends

第三个例子是基于名为 Polygon ``类创造一个名为Square``的类。 你可以从实战演示观察那一个事例。

class`Square extends Polygon `{“

`constructor(length) `{“

// 那里把length传参给父类的构造方法“

// 作为父类Polygon的宽和高“

`super(length,
length`);“

// 备注:在衍生类中动用this前必须先调用super()方法“

// 忽视这点将会招致一个引用错误“

`this.name
= `’Square’;“

}“

`get area() `{“

`return this.height
\* this.width`;“

}“

`set area(value) `{“

`this.area
= value`;“

`} `

}

 

Getter/Setter访问器属性

get 语法将一个目的属性绑定到查询该属性时将被调用的一个函数上。

语法E

{get prop() { … } }

{get [expression]() { … } }

 

super 关键字用于调用一个目标的父对象上的函数。

super.prop 和 super[expr] 表明式在 和 对象字面量 任何 方式定义 中都是卓有成效的。

语法

super([arguments]);

// 调用 父对象/父类 的构造函数

super.functionOnParent([arguments]);

// 调用 父对象/父类 上的章程

 

  1. 滚动条样式

http://blog.csdn.net/hanshileiai/article/details/40398177

当设置了-webkit-scrollbar属性的时候,固然只设置了width,也会使滚动条变透明。

由此只有要求如下两条就能够有很美丽的滚动条

#mobile-body-content::-webkit-scrollbar{width:8px}

#mobile-body-content::-webkit-scrollbar-thumb{background-color:#bdf4eb;-webkit-border-radius:4px;border-radius:4px}

 

4:通过并且设置元素的top和bottom,确定因素的可观。

 

5:如何让 height:100%; 起作用

http://www.webhek.com/post/css-100-percent-height.html

如果想让一个元素的比重中度height: 100%;起效果,你须要给那一个因素的具有父元素的可观设定一个有效值。

 

 

6:定宽元素居中方法2

{position:absolute;

left:50%;

width:300px;

margin-left:150px;}

 

7:利用伪元素::before或::after暴发阴影

#mobile-body-bg:before {

position: relative;

width: 100%;

  height: 25px;

  background: linear-gradient(rgba(34,195,170,0.1) 0, transparent);}

 

8.CSS动画

transform-origin设置旋转元素的基本点地方

 

animation: msgBounceIn .4s;

animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)

 

@keyframes msgBounceIn{

from{transform:scale(0)}                    //from相当于0%,to相当于100%

40%{transform:scale(1.03)}

75%{transform:scale(0.98)}

to{transform:scale(1)}

}

 

补充一个:transition 属性 

width:100px;

transition: width 2s;

 

8-13

1.git文本上传

http://www.cnblogs.com/cxk1995/p/5800196.html

本地文件更新服务器

http://blog.csdn.net/u014724048/article/details/54408994

服务器覆盖本地

http://blog.csdn.net/zzclqy/article/details/52743810

  1. 选拔原来是

transform: translateY(100%);

transition-duration: .3s;

transition-property: transform;

然后

background-color:rgba(0,0,0,0.5);

border-radius:20px;opacity:1;-webkit-transition:opacity
.3s;transition:opacity .3s

transform:translateY(0)

完结对话框的展现!

  1. 对话框关闭的X用::before和::after

.close-btn {

    position: absolute;

    top: 0;

    right: 0;

    height: 20px;

    padding: 12px 18px;

}

 

.close-btn:before {

    top: 10px;

    -webkit-transform: rotateZ(45deg);

    -ms-transform: rotate(45deg);

    transform: rotateZ(45deg);

}

 

 

.close-btn:after {

    -webkit-transform: rotateZ(-45deg);

    -ms-transform: rotate(-45deg);

    transform: rotateZ(-45deg);

}

 

.close-btn:before, .close-btn:after {

    content: ”;

    display: block;

    width: 16px;

    height: 2px;

    position: relative;

    top: 8px;

    background-color: #ddd;

}

  1. 对话框出来时,底层变暗的作用(类似模态框)

#mobile.has-prompt #prompt-bg{

    position:absolute;

    top:0;

    z-index:50;

    display:block;

    width:100%;

    height:100%;

    background-color:rgba(0,0,0,0.5);

    -webkit-border-radius:20px;

    border-radius:20px;opacity:1;-webkit-transition:opacity
.3s;transition:opacity .3s

}

 

5:左边对话框浮动的破除方法

.msg-row::before, .msg-row::after {

    content: ” “;

    display: table;

}

 

.msg-row::after {

    clear: both;

}

 

6.为何 .clear :after 和 :before 的 display 属性要定义为 table?

.cf:after,.cf:before {content: ” “; display: table;} .cf:after {clear:
both;} :before是因为table类型能生成单身的bfc,防止下面距塌陷,
:after负责清除浮动,幸免父级高度塌陷;同盟使用,代码少,效能高。

只是是明白父级中度塌陷的代码经测试只必要

.main::after{

    clear: both;

}

.main::after {

    content: ” “;

    display: table;

}

就可以已毕,原理就是运用伪元素清除浮动

 

8-15

  1. 组件化
  2. 回调达成种种作用
  3. 使用数组+1+1这么形成对话?
  4. 何以react的零部件要super(props)
    1. 调用super的因由:在ES6中,在子类的constructor中必须先调用super才能引用this ``(经测试,不调用``super``会报错);
    2. super(props)的目的:在constructor中可以利用this.props
    3. 最终,可以看下React文档,里面有一段

Class components should always call the base constructor with props.

上边我的例证,constructor的标配就是super(props);会自动传入组件的props;  

constructor(props) {

                   super(props);

                   this.state = {

                            replyarr:[“hehe”]

                   };

         }

唯有当不必要consructor的时候能够简写如下

class Welcome extends React.Component {

  render() {

    return <h1>Hello, {this.props.name}</h1>;

  }

}

5.官方实例

class Clock extends React.Component {

  constructor(props) {

    super(props);

    this.state = {date: new Date()};

  }

 

  componentDidMount() {

    this.timerID = setInterval(

      () => this.tick(),

      1000

    );

  }

 

  componentWillUnmount() {

    clearInterval(this.timerID);

  }

 

  tick() {

    this.setState({

      date: new Date()

    });

  }

 

  render() {

    return (

      <div>

        <h1>Hello, world!</h1>

        <h2>It is
{this.state.date.toLocaleTimeString()}.</h2>

      </div>

    );

  }

}

 

ReactDOM.render(

  <Clock />,

  document.getElementById(‘root’)

);

 

  1. 修改境况

①   this.setState({comment: ‘Hello’});

②   当state更新必要动用此前的值时,要选拔函数进行革新

Because this.props and this.state may be updated asynchronously, you
should not rely on their values for calculating the next state.

For example, this code may fail to update the counter:

// Wrong“

this.setState({“

`counter: this.state.counter + `this.props.increment,“

});“

To fix it, use a second form of setState() that accepts a function
rather than an object. That function will receive the previous state as
the first argument, and the props at the time the update is applied as
the second argument:

// Correct“

this.setState((prevState,`props) =&gt; `({“

`counter: prevState.counter + `props.increment“

}));

革新state数组写法一:

this.setState((prevState, props) => ({

                  counter: prevState.replyarr.push(“一只羊”)

           }));

写法二:

this.state.replyarr.push(“一只羊”);

           this.setState({

                    replyarr:this.state.replyarr

           });

  1. onClick={this.reply1.bind(this)}

react里面那种写法很多,要是不加上bind(this)那么在reply1
里面调用this结果是null?

 

①即使你的点击事件触发的不二法门里须求引用this。就需求绑定啊。不然你的this是null(记得若是没绑定this应该是全局window。但那里this
就是null,撸完手上的要求去看一下react源码 )所以

1.你仍旧在开立的时候绑定:

<div className=”save”
onClick={this.handleClick.bind(this)}>Save</div>

2.要么在一方始构造器里声称绑定

constructor(props){

  super(props);

  this.handleClick=this.handleClick.bind(this)

3.还有一种是使用闭包把职能域包起来

<div className=”save”
onClick={()=>this.handleClick}>Save</div>

如若用第一种 会在历次点击时经过bind创制一个新的主意,所以一般用2 3
三种情况,突显调用bind()只是为着有限支撑this值。

作者:空腹熊
链接:https://www.zhihu.com/question/50572127/answer/144757646

*创造绑定函数  bind() 最简易的用法是创立一个函数,使那几个函数不论怎么调用都有同样的this值。[JavaScript](http://lib.csdn.net/base/javascript)新手常常犯的一个谬误是将一个措施从目标中拿出来,然后再调用,希望方法中的this是原本的靶子。(比如在回调中传唱那几个点子。)即使不做尤其处理的话,一般会丢掉原来的靶子。从原先的函数和原先的对象创制一个绑定函数,则能很美丽地解决这一个标题:*

this.x =9;

varmodule = {

x:81,

getX:function() {`return this.x; }`

};

module.getX();// 返回 81“

varretrieveX = module.getX;

retrieveX();// 再次回到 9, 在那种情形下,”this”指向全局成效域“

// 创造一个新函数,将”this”绑定到module对象“

// 新手可能会被全局的x变量和module里的属性x所迷惑“

varboundGetX = retrieveX.bind(module);

boundGetX();// 返回 81

组成这里的例证进行精通,React构造方法中的bind即将handleClick函数与这些组件Component举办绑定以担保在这几个处理函数中使用this时可以随时指向这一组件

 

  1. 7.       JQUERY对象转DOM对象

三种转移情势将一个jQuery对象转换成DOM对象:[index]和.get(index);

(1)jQuery对象是一个数量对象,可以透过[index]的章程,来得到相应的DOM对象。

如:

 

 

var $v =$("#v") ; //jQuery对象

var v=$v[0]; //DOM对象

alert(v.checked) //检测这个checkbox是否被选中

(2)jQuery本身提供,通过.get(index)方法,得到相应的DOM对象

 

  1. 8.       让滚动条保持在最底部

$('#content').scrollTop( $('#content')[0].scrollHeight );

`一初始出错的原委是REACT内容渲染前就安装了莫大,渲染后并未再度安装,因而写在componentDidUpdate函数里面,在state变更后自动调用!“`

componentDidUpdate(prevProps,
prevState) {

var contentSH =
$("#mobile-body-content")[0].scrollHeight;

var contentCH =
$("#mobile-body-content")[0].clientHeight;

var scrollTopValue = contentSH - contentCH;

$("#mobile-body-content").scrollTop(scrollTopValue);

}

9. 与滚动栏适配的过程条

//与滚动栏适配的进程条
(function() {
var $w = $(window);
var $prog2 = $(‘.bottombar’);
var wh = $w.height();
var h = $(‘body’).height();
var sHeight = h – wh;
$w.on(‘scroll’, function() {
window.requestAnimationFrame(function(){
//scrollTop()是滚了稍稍,sHeight是足以滚多少
var perc = Math.max(0, Math.min(1, $w.scrollTop() / sHeight));
updateProgress(perc);
});
});

function updateProgress(perc) {
$prog2.css({width: perc * 100 + ‘%’});
}

}());

10.

$(window).height(); //浏览器当前窗口可视区域中度

 $(document).height(); //浏览器当前窗口文档的中度

 $(document.body).height();//浏览器当前窗口文档body的万丈

 $(document.body).outerHeight(true);//浏览器当前窗口文档body的总高度包罗border padding margin 

$(window).width(); //浏览器当前窗口可视区域涨幅

 $(document).width();//浏览器当前窗口文档对象宽度 

$(document.body).width();//浏览器当前窗口文档body的万丈 

$(document.body).outerWi      
dth(true);//浏览器当前窗口文档body的总拉长率 包

 

11.①Jquery里面的{}?——$().css设置五个属性时就是那般写

②种种中度和鼠标地方

网页可知区域宽: document.body.clientWidth 
网页可见区域高: document.body.clientHeight 
网页可知区域宽: document.body.offsetWidth (包含边线的宽) 
网页可知区域高: document.body.offsetHeight (包涵边线的高) 
网页正文全文宽: document.body.scrollWidth 
网页正文全文高: document.body.scrollHeight 
网页被卷去的高: document.body.scrollTop 
网页被卷去的左: document.body.scrollLeft 
网页正文部分上: window.screenTop 
网页正文部分左: window.screenLeft 
屏幕分辨率的高: window.screen.height 
屏幕分辨率的宽: window.screen.width 
屏幕可用工作区中度: window.screen.availHeight 
显示屏可用工作区宽度: window.screen.availWidth 

③    生命周期函数

④    缓慢滑动到目的地点

http://www.daixiaorui.com/read/92.html

Jquery的offset()可以拿走元素的职位,从而稳定到元素所在处

⑤    同步和异步的概念

http://blog.csdn.net/u013063153/article/details/52457307

异步代码会被放入一个事件队列,等到所有其余代码执行后才举行,而不会阻塞线程。

javascript最基础的异步函数是set提姆eout和setInterval。set提姆eout会在自然时间后执行给定的函数。它接受一个回调函数作为第一参数和一个微秒时间作为第二参数。

12.JS的单线程和异步机制

https://www.zhihu.com/question/19732473

如何精晓阻塞非阻塞与一起异步的区分?

http://www.cnblogs.com/sxz2008/p/6513619.html

JavaScript单线程和异步机制

就算如此JavaScript是单线程的,唯独浏览器内部不是单线程的。你的一对I/O操作、定时器的计时和事件监听(click,
keydown…)等都是由浏览器提供的此外线程来成功的。

只要想行使三四线程处理局部耗时较长的天职,可以运用HTML5指出的Web Worker。

 

8-16

翌日修改样式往github上边架一下

 

8-17

  1. JS中的事件绑定,事件捕获,事件冒泡以及事件委托,包容IE

http://www.cnblogs.com/zhangmingze/p/4864367.html

  1. background-image
  2. https://sologgfun.github.io/
  3. 作者:Try
    链接:https://www.nowcoder.com/discuss/19662?type=2&order=3&pos=21&page=1
    来源:牛客网

在此之前都是在牛客看别人的面经,面试经验哪些的,本次该换我来写了,

实习:

校招:

7.20上马投简历

蚂蚁金服UED

一面:55分钟

1.怎么着让种种气象下的div居中(相对定位的div,垂直居中,水平居中)

  1. display有怎样值?表达他俩的机能

None,block,inline-block,table,cell

  1. requirejs完毕原理

基本原理是动态生成script标签,比如requirejs,seajs。还有部分是ajax请求js代码,然后eval执行的。此外可以关怀一下MT.手机博客园,基于localstorage来做到路字符级其余增量更新

  1. requirejs怎么预防再一次加载

7.ES6里头的箭头函数的this对象与其余的有甚不一致

8.tcp/udp区别

http://www.cnblogs.com/bizhu/archive/2012/05/12/2497493.html

小结TCP与UDP的区别:
1.基于连接与无连接;
2.对系统资源的需要(TCP较多,UDP少);
3.UDP程序结构较简单;
4.流格局与数码报情势 ;
5.TCP保障数据正确性,UDP可能丢包,TCP有限帮忙数据顺序,UDP不有限协理。

  1. tcp一回握手进度

TCP五次握手进程
1 主机A通过向长机B 发送一个含有同步种类号的申明位的数量段给主机B
,向长机B 请求建立连接,通过那么些数据段,
主机A告诉主机B
两件事:我想要和你通讯;你可以用哪些种类号作为开端数据段来回应我.
2 主机B
收到主机A的哀告后,用一个分包确认应答(ACK)和一块种类号(SYN)标志位的数据段响应主机A,也告诉主机A两件事:
自家早就接受你的呼吁了,你可以传输数据了;你要用哪佧序列号作为开端数据段来回应本人
3 主机A收到这一个数据段后,再发送一个认同应答,确认已选用主机B
的数据段:”我已吸纳回复,我现在要起来传输实际数据了
这么3次握手就落成了,主机A和主机B 就足以传输数据了.
3次握手的风味
尚未应用层的多寡
SYN那么些标志位唯有在TCP建产连接时才会被置1
拉手完结后SYN标志位被置0

  1. xss与csrf的法则与怎么防备

http://blog.csdn.net/koastal/article/details/52905358

①XSS概念的主语是“脚本”,是一种跨站实施的本子,也就是JavaScript本子,指的是在网站上注入大家的javascript剧本,执行不合规操作。 
CSRF定义的主语是”请求“,是一种跨站的假冒的请求,指的是跨站伪造用户的央求,模拟用户的操作。

②XSS攻击发生的基准是可以执行javascript脚本,一般在站点中总会有发布小说、留言等音信的表单,这种表单一般是写入到数据库中,然后在某个页面举行呈现。大家得以在那一个表单中平素编写javascript代码(<script>alert("hack
sucess!");</script>
)进行测试,看是还是不是足以举行。假如在音讯突显页面js代码可以执行,XSS攻击就成功了。

CSRF(Cross-site request
forgery跨站请求伪造)是一种看重web浏览器的、被模糊过的代表攻击。CSRF定义的主语是”请求“,是一种跨站的作假的哀求,指的是跨站伪造用户的央求,模拟用户的操作。

 

GET和POST的使用

在web程序的布置基准上,GET传递参数的操作,不该改变程序的内部结构,首要用以查询音讯的过滤。对于数据库的更删改操作,一定要使用POST方式传值。

XSS和CSRF攻击的守卫

防御XSS攻击可以经过以下两地点操作: 
1,对用户表单输入的数码开展过滤,对javascript代码举办转义,然后再存入数据库; 
2,在音信的显得页面,也要拓展转义,幸免javascript在页面上实施。

 

CSRF攻击的守护可以经过以下两方面操作: 
1,所有须要用户登录之后才能履行的操作属于重大操作,这个操作传递参数应该运用post情势,尤其安全; 

2,为防患跨站请求伪造,大家在某次请求的时候都要带上一个csrf_token参数,用于标识请求来源是或不是合法,csrf_token参数由系统生成,存储在SESSION中。

  1. mysql与 MongoDB的区别

关系型数据库:最常见应用最广的一类数据库,建立在涉及模型基础上数据模型大约上就是二维表,一个鼓起的风味是用SQL进行操作,能知足大多数须求。常见的MySQL,Oracle,Microsoft
SQL Server等。

MySQL,开源的关系型数据库,在现代数据库中相比杰出,能满足你大部分必要,毕竟Oracle很贵。一般用起来要运行一个MySQL的劳务,然后用客户端去老是它,比如在Java里仍然用shell连接127.0.0.1:3306。之后就足以愉悦地履行SQL语句增删查改了。

事例:比如学生音讯保管连串,服务器123.123.123.123:306上用的MySQL,另一个服务器上的Web应用可以连接到它,学生基本音讯一个表,班级消息一个表。学生的班级id字段是外键连接到班级新闻表的班级id。

SQLite,一个极度迷你的关系型数据库,麻雀虽小五脏俱全。(需求中远距离连服务器上的数据库依旧宝宝用MySQL),连接数据库似乎打开个db文件,比如用shell或者编程语言总是到e:\example.db。之后就可以热情洋溢地用SQL语句增删查改了。相当适合嵌入到利用内部,比如android应用。鲜明,要是你写的顺序访问的数量想存成一个本地文件,你协调布署文件格式存多少很费劲不如用那个。比如做个片子管理app,内嵌mingpian.db来保存名片。

 

非关系型数据库:由于关系型数据库固然数据结构很谨慎专业,有一大堆约束(比如确保每个数据主键唯一啊,存在其余表里的数目用外键连接啊等等的),不过在好哪一天候存在欠缺,比如我从明日起来存的数额都比明日的多了俩字段,或者前些天发轫每条数据里面嵌入了一个列表,那时候关系型数据库就倒霉用了(要么建新表,要么alter旧表,但是改变里面存了N多数据的旧表的构造代价很大),再譬如数据以追加为主,并且修改一条记下某个字段时要求旧的版本不可能丢。

为了满意这几个须求,就应运而生了非关系型数据库,也有人称之为NoSQL数据库,舍弃一部分关系型数据库的“严格”,而援救各个其他特性。常见的有HBase、MongoDB、Redis等等。   
MongoDB按分类可以算“基于文档的数据库”,里面数据的“长相”参见JSON格式。不过在我看来,很多吵吵着用MongoDB的情事MySQL完全可以胜任。

 

腾讯TST微信(第一次,内推)

一面:50分钟

5.gulp与webpack区别

7.说下您知道的响应状态码

10.对nodejs明白多少

 

二面:90分钟 (视频面)

首先是多少个编程题 

2.贯彻一个可拖动的div(要考虑到浏览器包容性)

http://www.w3school.com.cn/html5/html\_5\_draganddrop.asp

 

 

二面:40分钟

1.相见过什么样浏览器包容性难点

  1. 清除浮动有哪二种格局,分别说说

http://www.cnblogs.com/Lu-Lu/p/6253714.html

最强浮动解决帖!

  1. js继承

http://www.cnblogs.com/humin/p/4556820.html

 

三面:90分钟

1.您学过数据结构没,说说您都打听些什么

2.您学过统计机操作系统没,说说你都打听些什么

3.您学过电脑组成原理没,说说你都打听些什么

4.您学过算法没,说说您都询问些什么

5.说下抉择排序,冒泡排序的完结思路

复习技术之瞳

7.让你安插一个前端css框架你如何是好

12.浏览器缓存的分别

http://www.techweb.com.cn/network/system/2016-01-05/2252395.shtml

17.js中上下文是什么

https://segmentfault.com/q/1010000008295253/a-1020000008297388

箭头函数没有自己的 thisargumentssupernew.target,
而是经过上溯词法效能域找到如今定义的这些.

var obj = {

foo:() =>`console.log(**this**)`

}

那段代码里箭头函数里头的 this 指向的是概念了箭头函数的这个执行上下文,
分明即 window.

ES6 箭头函数中的
this?你或许想多了(翻译)

http://www.cnblogs.com/vajoy/p/4902935.html

  1. 当有人说“变量所处的上下文”时,实际指“词法环境”,或者我们常说的效率域,即标准中的Lexical
    Environment。
  2. 当有人说“函数的上下文”时,实际指“函数的推行环境”,即业内中的Execution
    Context。
  3. 当有人说“call、apply和bind会改变函数执行的上下文”时,实际指“函数执行时的this”,即正式中的this
    binding。
  4. 当有人说“你那段代码要整合上下文才能来看具体意思”时,此处的上下文就是我们平日生活中说的上下文。

 

21.平淡无奇在档次中用到过什么设计格局,说说看

 

 

美团

  1. 一来给了张纸必要写js自定义事件

http://www.jb51.net/article/83911.htm

https://developer.mozilla.org/zh-CN/docs/Web/Guide/Events/Creating\_and\_triggering\_events

  1. h5有个api能固定你领会是哪位吧

Geolocation

5.webpack怎么样配置

7.link和@import有怎么着分别

  • link属于html标签,而@import是css提供的。
  • 页面被加载时,link会同时被加载,而@import引用的css会等到页面加载甘休后加载。
  • link是html标签,因而尚未包容性,而@import唯有IE5以上才能鉴别。
  • link格局样式的权重高于@import的。

11.出了道url去参数的题让在纸上写 

总计:标题暂时就先那样多,先把书看完

 

8-18

  1. 写个后台程序,时而跑一下表达登录效能

前台是用servlet写得

8-19

  1. 学弟网站,S流,面试题,第二份简历
  2. Font Awesome矢量字体图标

3. Var k; alert(k);

  1. 二叉树资料

http://blog.csdn.net/fansongy/article/details/6798278/

  1. 在Linux上,对于多过程,子进程继续了父进度的下列哪些?

父进度和子进程具有独立的地点空间和PID参数。

6.

‘a’=97
‘A’=65

7.

最短寻道时间优先算法

8.

微软操作系统(DOS、WINDOWS等)中磁盘文件存储管理的微小单位叫做“簇”
扇区:硬盘不是几遍读写一个字节而是五次读写一个扇区(512个字节)
:系统读读写文件的宗旨单位,一般为2的n次方个扇区(由文件系统决定)

块可以包含若干页,页可以分包若干簇,簇可以分包若干扇区

9.

微机的小不点儿存储单位是字节Byte,一个字节,
是由八位二进制位组成的,就是那八位数字只是由“0”和“1”多个数字组合,例如:11111000,00000001,00000101等,1个英文字母、英文标点、半角数字
在处理器是以八位二进制数保存 就是一个字节大小,1个汉字(包含汉语标点
全角数字)就是2个字节 (十六位二进制)

1位二进制大小就是1bit

10.

DNS知识点

A:DNS就是将域名翻译成IP地址。

B:首要用UDP,不过当请求字节过长超越512字节时用TCP协议,将其分割成多个部分传输。

C:DNS协议默许端口号是53。

D:操作系统的DNS缓存:windows DNS缓存的默认值是
马克斯CacheTTL,它的默认值是86400s,也就是一天。macOS
严俊依据DNS协议中的TTL。

   
 游览器的DNS缓存:chrome对种种域名会默许缓存60s;IE将DNS缓存30min;Firefox默许缓存时间唯有1分钟;Safari约为10S。

11.

看二分法完成细节,取中值时:mid=low+((high-low)/2);是取左中值

12.

线性结构是一个平稳数据元素的集结。[1] 

常用的线性结构有:线性表,栈,队列,双体系,数组,串。

有关广义表,是一种非线性的数据结构。

大规模的非线性结构有:二维数组,多维数组,广义表,树(二叉树等),图。

特征

1.会见中必存在唯一的一个”第三个因素”;

2.会聚中必存在唯一的一个”最终的元素”;

3.除尾声元素之外,其余数据元素均有唯一的”后继”;

4.除第一因素之外,其他数据元素均有唯一的”后驱”。

数据结构中线性结构指的是数码元素之间存在着“一对一”的线性关系的数据结构。

如(a0,a1,a2,…..,an),a0为第四个元素,an为结尾一个因素,此会聚即为一个线性结构的聚集。

冲突应于线性结构,非线性结构的逻辑特征是一个结点元素可能对应三个平素前驱和四个后继。

13.

C语言,设有宏定义:

1

2

#define A 4+5

#define B A*A

则发挥式B*B的值为

4+5*4+5*4+5*4+5=69

14.pure

 https://www.purecss.cn/start.html

<meta name=”viewport”
content=”width=device-width,initial-scale=1″>

http://www.cnblogs.com/2050/p/3877280.html

15.CSS媒体询问

CSS 语法

@media mediatype and|not|only (media feature) {
    CSS-Code;
}

您也足以本着分裂的媒体使用不相同 stylesheets :

<link rel=”stylesheet” media=”mediatype and|not|only (media
feature
)” href=”mystylesheet.css“>

 

@media 媒体类型and (媒体特性){你的样式}

@media screen and (max-width: 300px) {
    body {
        background-color:lightblue;
    }
}

 

8-22

  1. 基于pure的CSS框架
  2. React-native

http://www.jianshu.com/p/b88944250b25

  1. 思路一:仅后台间隔执行的话,不用到前台的话不能显示验证码

思路二:

 

8-23

  1. 前者质量优化

https://segmentfault.com/a/1190000000490328#articleHeader4

  1. JSX

 class是js关键字,这里要用className。对于E选项,在jsx中直接写行内样式时无法选拔引号,而是style={{color:’red’}}的艺术

  1. 数组方法

大旨必要将数组a=[1,2,3]变成[1,2,3,4],须要变更原数组a。

Array对象常用方法中:

不转移原数组:

1、 concat()

连日来七个或七个数组

不改动原数组

归来被连接数组的一个副本


2、join()

把数组中负有因素放入一个字符串

不转移原数组

归来字符串


3、 slice()

从已有些数组中回到选定的要素

不改变原数组

归来一个新数组


4、 toString()

把数组转为字符串

不改变原数组

归来数组的字符串格局

变动原数组:

5、 pop()

删去数组最后一个要素,如果数组为空,则不转移数组,重返undefined

变动原数组

回去被去除的元素


6、 push()

向数组末尾添加一个或八个要素

变动原数组

回去新数组的尺寸


7、 reverse()

颠尾数组中元素的逐一

变更原数组

回去该数组


8、 shift()

把数组的率先个要素删除,若空数组,不举办任何操作,重回undefined

转移原数组

回到第三个因素的值


9、 sort()

对数组元素举行排序(ascii)

更改原数组

归来该数组


10、 splice()

从数组中丰硕/删除项目

更改原数组

重回被剔除的元素


11、 unshift()

向数组的初始添加一个或三个元素

改变原数组

回来新数组的长短

A选项,a.reverse()后重返值即数组a变成[3,2,1],再利用unshift()方法在数组先导添加一个4,a数组就变成了[4,3,2,1]。注,unshift()再次来到新数组的长短,此处为4。正确。

B选项,push()方法再次回到新数组的尺寸,是一个number类型,不是数组,所以不可能再用“.”操作符继续执行reverse()方法。错误。

C选项,正确。

D选项,splice()语法:arrayObject.splice(index,howmany,item1,…..,itemX)。
参数:
index:必需。整数,规定添加/删除项目标使命,使用负数可从数组结尾处规定岗位。
howmany:必需。要刨除的门类数量。如若设置为 0,则不会去除项目。
item1, …, itemX:可选。向数组添加的新品类。
返回值:
Array:包涵被剔除项目的新数组,假诺有些话。

是因为a.splice(3,1,4)中的index为3,超过了数组a的下标,所以3后头的1也不会起成效。a.splice(3,1,4)会将4插入到数组a末尾。但splice()重回值是被删除项目标新数组,由于a.splice(3,1,4)并从未去除元素,所以回来的新数组为空,对空数组reverse()照旧空。(若是D选项改成a.splice(3,1,4);a.reverse()就正确了。)错误。

 

  1. HTTP2.0

https://www.zhihu.com/question/34074946

多路复用

多路复用允许同时经过单一的 HTTP/2 老是发起多重的伸手-响应音信。

明确 ,在 HTTP/1.1 协议中
「浏览器客户端在同一时间,针对同一域名下的伸手有早晚数量限制。当先限定数量的请求会被封堵」。

可以给请求添加优先级

服务器主动推送 server push

首部压缩:HTTP2的头顶会减小,从而裁减流量传输

 

  1. position: sticky 

  CSS属性采用用于固定元素的代表规则,被规划为对台本动画效果有用。position属性中最有趣的就是sticky了,设置了sticky的因素,在显示屏范围(viewport)时该因素的地点并不受到一定影响(设置是top、left等特性无效),当该因素的义务将要移出偏移范围时,定位又会变成fixed,依照设置的left、top等性能成固定地点的效用

 

我们需求贯彻动态加载一个 JavaScript 资源,不过有几处不明了什么处理,须要您的佑助完结这一项工作

var script = document.createElement(“script”);

var head = document.getElementsByTagName(“head”)[0];

 

script.type = “text/javascript”;

script.src = “//i.alicdn.com/resource.js”;

 

// 绑定资源加载成功事件

script. 1 = function( ){

// 判断资源加载状态是或不是为加载成功或加载成功

if( 2 . test (script. 3  )  ) {

script.onreadystatechange = null;

. . . .

}

};

 

// 绑定资源加载败北事件

script. 4 = function( ) {

. . . .

};

head.insertBefore (script , head.firstChild)

 

(1) onreadystatechange
(2) /^(loaded|complete)$/
(3) readyState
(4) onerror

 

6.

http://www.cnblogs.com/dailc/archive/2016/10/04/5930238.html

  • Native App

即传统的原生APP开发格局,Android基于Java语言,底层调用谷歌的
API;iOS基于OC或者Swift语言,底层调用App官方提供的API。体验最终。

  • Web App

即移动端的网站,将页面布署在服务器上,然后用户使用各大浏览器访问。一般泛指
SPA(Single Page Application)形式开发出的网站。体验最差。

  • Hybrid App

即混合开发,由Native通过JSBridge等方法提供联合的API,然后用Html5+JS来写实际的逻辑,调用API,这种情势下,由于Android,iOS的API一般有一致性,而且最终的页面也是在webview中体现,所有有跨平台功效

  • React Native App

脸谱发起的开源的一套新的APP开发方案,使用JS+部分原生语法来促功用益。初次学费较高,然则在入门后,经过精美的包装也可以完结多数的跨平台。而且体验很好。

对比Hybird和React Native

hybird的产出不过是为着表现,说实话要是没有css,或许hybird那种事物就不会产出。如果你打算做一个音信客户端,hybird相对是不二的精选。而相互永远是hybird的痛,且不说android局地滚动和ios的各个fixed与input的基情,就终于各样显示屏分辨率的拍卖方案都得恶心的想吐了。

而rn那种东西,其实你把语言换成java
oc一样可以完成,只然而模块化弱类型动的js写那种东西更舒服而已。由于是基于native完结,rn可以免止掉大家地方说的装有标题,不过hybird带来的优势也会大促销扣:
write once,use anywhere降级成了learn once,write
anywhere,当然了业务逻辑仍可以够复用的。同样的强硬的css被阉割掉了众多特性和整个的层次选取器,突显力没有那么强了,但到底仍旧强的。
链接:https://www.zhihu.com/question/38123798/answer/75028325

7.

IndexdDB 是 HTML5 的当地存储,把有些数额存储到浏览器(客户端)中,当与互联网断开时,能够从浏览器中读取数据,用来做一些离线应用。

Cookie 通过在客户端 ( 浏览器 ) 记录消息确定用户身份,最大为 4 kb 。

url 参数用的是 get 方法,从服务器上获取数据,大小不可以超出 2 kb 。

Session 是服务器端使用的一种记录客户端状态的机制 。

post 是向服务器传送数据,数据量较大。

local Storage 也是 HTML5 的地面存储,将数据保存在客户端中。

8.

原型链找不到时,重返的是undefined而不是null;

  1. 出口对象中值大于2的key的数组

var data = {a: 1, b: 2, c: 3, d: 4};

Object.keys(data).filter(function(x) { return 1 ;})

意在输出:[“c”,”d”]

参考答案 
(1) data[x]>2

 

Object.keys(Object)

Array.filter(function)

Object是富含属性和措施的目的, 可以是创制的目的或现有文档对象模型 (DOM)
对象。

Object.keys(object)的重返值是 一个数组,其中饱含对象的可枚举属性和措施的称呼。

Array.filter(function)对数组进行过滤再次回到符合条件的数组。

Object.keys(data)的重回值为数组[“a”,”b”,”c”,”d”],经过 filter(function(x)
{
return ; })过滤,重返值大于2的key的数组。x为回到数组的特性名称即“a”、”b”、”c”、“d”,则附和的属性值为data[x],相比语句为data[x]>2。

 

10.

.sub{

    width: 100px;

    float: left;

}

.extra{

    width: 200px;

    float: right;

}

.main{

    margin-left: 100px;

    margin-right: 200px;

}

 

.sub, .extra {

    position: absolute;

    top: 0;

    width: 200px;

}

.sub {

    left: 0;

}

.extra {

    right: 0;

}

.main {

    margin: 0 200px;

}

 

.layout {

    display: flex;

}

.main {

    flex: 1;

}

.aside {

    width: 200px;

}

 

11.没多少的时候的饼图

12.IPV6和IPV4的区别

http://blog.csdn.net/zjuxsl/article/details/44757791

  1. 前者里神奇的BFC
    原理分析

http://www.cnblogs.com/lhb25/p/inside-block-formatting-ontext.html

14.
ES6块级效能域及新变量表明(let)

http://www.cnblogs.com/snandy/p/4485832.html

15.ES6模块的落到实处

http://www.cnblogs.com/vs1435/p/6553134.html

16.论述现代前端组件化框架一些关键特性落成的法则

组件化机制

数码绑定机制

上下级组件之间数据传递的机制

17.函数柯里化

 

 

8-24

1.箭头函数能不能作为构造函数

2.react写一个倒计时(聚划算那种)

(自身和服务器时间的联合难题?)

3.元素相对于浏览器左上角的距离

rectObject = object.getBoundingClientRect();

重回值是一个 DOMRect 对象,这么些目标是由该因素的 getClientRects() 方法再次回到的一组矩形的聚集,
即:是与该因素相关的CSS 边框集合 。

DOMRect ``对象包含了一组用于描述边框的只读属性``——left``、``top``、``right``和``bottom``,单位为像素。除了`` width ``和`` height ``外的属性都是相对于视口的左上角位置而言的。

 

——————————————————————————————————————

1.您是一个哪些的人?请你选取五个词描述自己。为了描述更鲜活,每个描述词后请举例表明。(限300字)

友善:从小到大每个集体总有因为各类原因显得很弱势的人,我都会在看不下去的时候拉一把。
元气:固然大学生毕业已经25岁了,可是我说不定因为家里有个表妹,所以自己的心绪更青春,遇到挫折也不简单境遇打击。
升高:即便不是统计机系,可是自己对总括机的爱抚促使自己克服了各样困顿毕业的还要控制了多地点的技术。

2.前途,您愿意自己变成一个怎么的人?为此您付出了何等努力?(限300字)

未来自我梦想从事总计机方面的劳作,在技巧上边多加操练,成为一个世界的大牛。
自我本科和博士即便均不是计算机系,由于对电脑编程的保养,从大学生入学起,两年时间的门类开销经历,使得自己的编程能力有了很大的夯实。有记录和享受的习惯,
有投机长时间更新的技巧博客。
技术方面对电脑互联网,基本算法及数据结构有较好的左右。熟识驾驭JavaScript语言,包含ES6有些特点,原生JS
基础扎实。熟习领会HTML5,CSS技术,包涵但不限于跨域,Session,flex布局等技术。
熟练Web
框架Backbone,React,JS框架Jquery,underScore,Css框架Bootstrap等主流框架,并且对vue也颇具领会,并且对源码有过学习和研读。
后端上在融洽的品种中接纳过PHP和Node.js,使用express框架协作moongoose使用了MongoDB,了然并会采用MySql数据库,熟稔数据库的为主处理。
其它,在本科和学士时期,积极加入校内校外实践活动,并数十次拿走奖学金,硕士学业奖学金一回。语言方面通过CET-6,具备阅读英文文献和骨干的维系能力。

3.您怎么看待自己结束学业后的第一份工作?为啥?(限300字)

第一份工作本身觉着能进大商家就进大集团,中国联通就是其中的独领风流,以中国联通举例,中国电信的平台是丰盛大的,作为国家背景的营业商旗下的分集团物联网集团也是平等。在那中间项目标档次和多少都是很高的,对友好是很好的操练,而且我本人是拉脱维亚里加人,不希望随地奔波,最好能在一个安定的商店内部平素极力成长就好了。

4.您为啥选用应聘中移物联网有限企业?您希望中移物联网有限公司能给你带来如何?(限300字)

中国电信作为后天三大运营商里面的龙头,中移物联网集团看成他旗下的互连网商家,既有国有公司规范的优势,也有互连网神速的特征,选用这样的商号作为第一份工作室理所应当的。
本人个人希望公司能够给自身成长的平台和安静的迈入,我深信不疑自己和中移的实力会愈来愈强。

 

 

 

8-25

  1. 判定check是不是选中?要是选中check元素?
  2. HTTPS加密原理

http://www.cnblogs.com/Yfling/p/6670495.html

  1. 前端安全学RSA非对称加密,DES对称加密
  2. 可以问问给面试官的 前端DES那种对称加密有如何用?前端加密是不是有含义?
  3. ParyTheLord 16:13:49

ParyTheLord 16:13:49

邱总,额我想问一下,,我要写那些定时调度的话,写在尤其项目的何地阿?,,

邱添 16:14:55

你会spring框架么

邱添 16:15:09

您可以写一个基于spring框架的调度

邱添 16:15:21

品类里面内置了spring框架

邱添 16:15:43

依旧您可以写一个java程序,然后再linux做调度义务邱总,额我想问一下,,我要写这多少个定时调度的话,写在非凡项目标哪个地方阿?,,

  1. 模拟HTTP请求http://blog.csdn.net/pathuang68/article/details/6920076

 

8-28

 

 

8-29

首先,并不是说您一打开一个页面就会爆发一个session。
所谓session你可以这样驾驭:当你与服务端进行对话时,比如说登陆成功后,服务端会为你开壁一块内存区间,用以存放你本次会话的局部情节,比如说用户名之类的。那么就必要一个东西来声明这一个内存区间是你的而不是别人的,那几个东西就是session id(jsessionid只是tomcat中对session id的叫法,在其余容器里面,不必然就是叫jsessionid了。),而以此内存区间你可以知晓为session。
下一场,服务器会将以此session id发回给您的浏览器,放入你的浏览器的cookies中(这么些cookies是内存cookies,跟一般的不雷同,它会趁机浏览器的关门而消逝)。
日后,唯有你浏览器没有停歇,你每向劳动器发请求,服务器就会从您发送过来的cookies中拿出那么些session id,然后根据这几个session id到相应的内存中取你前边存放的多少。
可是,若是您退出登陆了,服务器会清掉属于您的内存区域,所以你再登的话,会发生一个新的session了。
害羞,我也许说得不太知道,但这地点的文化网上有好多,你可以理解下session的原理。

 

8-30

  1. JS异步(通俗)http://www.cnblogs.com/penghuwan/p/7451409.html
  2. 不曾IE就平素不挫伤!浏览器包容性难点解决方案汇总

http://www.cnblogs.com/huang361964533/p/7451956.html

 

 

 

8-31
1.

3.BFC

4.事变节流

5.回调XX(没听懂)

6.贯彻一个浏览器内部标签页间的报道用怎么着艺术

7.舍弃物回收

8.状态码304

9.文档逾期时间怎么设置

10.ES6语法

11.怎么设置一个在PC端与手机端都得以浏览的页面

12.怎么落到实处自适应布局,媒体询问

13.JS模块化,AMD,CMD。。。

14.代码集体措施

15.怎么学习前端

16.跨域JSONP前后端有何约定啊

身为非科班出身,感觉任重先生道远,努力加油吧,很多看过没用过,面试问的很详细,很多恢弘,感觉相比器重“你用过吗?”,那就像是是面试中冒出频率最高的词了,当然还有“没事”。

诸君加油啊!!

  1. promise,asyn await,还说了一个es6的一个异步处理重大字,
    defer关键字,闭包,局地变量进步作用域,页面渲染,页面加载进度,图片懒加载,还有,但近期不记得了,让自家逐步思考,我再添加来

 

 

9-4

美图

编程题

1.$.extend

2.DOM操作

3.正则

4.去重和合并

简答

  1. 跨域
  2. 特性优化
  3. ES6

 

9-6

  1. 羡辙的CV
  2. 出入栈和LINUX难点 技术之瞳里面有

 

9-7

  1. 投简历,改随想,笔,网站,技术之瞳
  2. 民用评价:聪明,乐观,皮实,自省(技术之瞳P8)
  3. 面试:相比较大的标题可以协调查到,个性化的难题:推荐适合我的书,论坛等,JS安全性
  4. 处理器网络

面试常考:https://www.nowcoder.com/discuss/1937

①   网络协议三要素:语义,语法,调换规则

②   在公钥密码体制中,不领会的是  (私钥) 。

③   表示层的基本点职能是–关切所传递的新闻的构造,语法和语义

④   从运输层的角度看,通讯的的确端点是–进度。

⑤   关于IP地址

https://www.nowcoder.com/test/question/done?tid=10715152&qid=3488#summary

  1.  flex布局中align-items
    和align-content的区别

6.
求各位数字和:利用432/10=>43的特征,获得去一位的数字,不断%10收获每一位。

  1. 对行内元素设置margin-top 和margin-bottom是不是起功效

不起功用。(必要注意行内元素的轮换元素img、input,他们是行内元素,可是足以为其安装宽高,并且margin属性也是对其起功能的,有着类似于Inline-block的表现)

  1. 对内联元素设置padding-top和padding-bottom是或不是会追加它的莫大

不会。同上题,要留心行内元素的替换元素,img设置padding-top/bottom是会起功效的。

9.问:假设设置<p>的font-size:
10rem;那么当用户重置或拖拽浏览器窗口时,它的文本会不会惨遭震慑?

答:不会。

rem是css3新增的一个针锋相对单位(root
em,根em),那一个单位引起了周边关怀。那些单位与em有如何分别呢?差别在于选用rem为要素设定字体大小时,依然是相持大小,但针锋相对的只是HTML根元素。

 

9-11

SMTP :全称是“Simple Mail Transfer
Protocol”,即简单邮件传输协议。它是一组用于从源地址到目标地址传输邮件的正规化,通过它来决定邮件的转账情势。SMTP
协议属于 TCP/IP
协议簇,它扶助每台计算机在发送或转化信件时找到下一个目标地。SMTP
服务器就是遵守 SMTP 协议的殡葬邮件服务器。 

POP3:是Post Office Protocol
3的简称,即邮局协议的第3个版本,它规定怎么将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。它是因特网电子邮件的第四个离线协议正式,POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是按照POP3协议的吸纳邮件服务器,用来收取电子邮件的。

博客中介绍,pop3:从服务器下载到本地;SMTP:发送或者转载邮件。

 

  1. java/struts2/spring/ant.maven/devops
  2. 4.      
    计算机网络动态路由协和,子网掩码的职能,互联网地址划分,种种地点的功能

 

9-12

1.JS在线编程格式

https://segmentfault.com/a/1190000010715910

2. 《总结机互联网》第五版 复习笔记

http://blog.csdn.net/hcbbt/article/details/18271491

 

9-13

1.大战每年来校招的小时都很早,二月底,在宣讲会的前些天我大致看了java基础(准备的太晚),笔试有选取题(比较基础)、简答题(较多,涉及java基础,网络TCP/IP,三二十四线程等)、一道字符串反转编程题,两道智力题(如用多个容器分水的题材,很广泛),最终一道主观题,总体来说难点简单,比较基础,只是我从没复习到位,不过照旧被文告了一面,也有那些同班被刷了,看来刚开端好三人都没有过得硬复习,我归功于流年。一面有八个面试官,都很好,看本身简历上写的是熟识C++和java,就问我java和C++的分裂,还有就是问项目,但我做的java的类型相比久了,我也绝非美丽准备,总而言之面的不好,就像此照旧被打招呼了二面,说是人事面,一个HR面2个人,几乎就是哪些联系处事,HR面前有一张纸,我看出了上下一心的实绩,笔试和一面的成就,都比较低,后来HR跟自家说一面的面试官觉得我Java基础一般,提出我转测试,让我们测试的面试布告。但是后来也尚未打招呼了,我的天数到此用完了。不要相信运气,主要靠实力。笔试成绩很要紧,由此可见要早做准备,要不然只可以眼睁睁望着机遇往日方消失。一初叶自我并不是很想进烽火,没有当真对照,但后来发觉以自己的实力烽火已经不错了,前边的居多商家还不如烽火,后悔自己从没好好准备,希望大家吸取我的教训。 收起

面试官的题材:

问java和C++的区别?

答我先是反应是java没有指针,当然那不是答案,面试宝典都有,不细说了

问java的开支经历?

答我纪念不知道了,没怎么说,自己要出彩准备项目。

问写一段代码已毕持续和多态

答只写了接二连三

问项目中有没有用到数据库连接池?

答没有也要说有,那是很广泛的题,近期常用的是c3p0连接池,自己百度

问java设计方式仍旧数据库范式?

 

7.以下的哪类颜色格式帮忙上百万种颜色,不过不协助无损压缩?

A、bmp

B、jpg

C、gif

D、tif

答案:A

http://blog.csdn.net/xq2768637066/article/details/50894608

 

 

9-18

手写filter

    var arr = [1,2,3];

    arr.filter2 = filter2;

         var re = arr.filter2(mid);

         function filter2(mid){

                   var hehe = [];

                   for(var i of this){

                   var rer = mid(i);

                   console.log(rer);

                   if(rer){

                            console.log(i);

                            hehe.push(i);

                   }

         }

         console.log(hehe);

         }

         function mid(z){

                   if(z<2){return true}

                            else{return false}

         }

 

2.内存泄漏

http://www.cnblogs.com/libin-1/p/6013490.html

 

3.
彻底弄懂HTTP缓存机制及原理

http://www.cnblogs.com/chenqf/p/6386163.html

 

  1. 5.       跨域

http://www.cnblogs.com/cndotabestdota/p/7150552.html

 

  1. 6.       美团面经
  2. 东西越发杂,每个都是问一个小意思,把仍可以想起起来的记录分享一下
  3. js基础(闭包,效用域,es6,this,完成filter,内存泄漏)
  4. css基础(重绘重排,选用器,伪类,继承,居中,布局)
  5. http基础(一回握手,代理,缓存机制,method)
  6. 跨域
  7. 内外相互的多寡
  8. 贯彻响应restful api的路由
  9. 相见的品质优化和化解的标题

 

作者:Say37
链接:https://www.nowcoder.com/discuss/37841
来源:牛客网

一上来面试官就让我介绍下自家做的项目。我介绍了后头,就从不然后了(当时自我以为会深问)。

然后就是编程了。

1.经典的柯里化难题。编写一个函数,落成add(2)(3)。

2.功能域难题。

var length = 10;

function fn() {

console.log(this.length);

}

var obj = {

length: 5,

method: function(fn) {

fn();

arguments[0]();

}

};

 

obj.method(fn, 1);

问会输出什么?那些自己答应的不得了,不过面试官说(⊙v⊙)嗯,也没给我纠错。哎╮(╯▽╰)╭

3.第七个是出口<body>下边的三个<a>标签对应的目录。那些也统计过,不过写的时候有瑕疵,哎╮(╯▽╰)╭

4.用2到3行写出二维数组变成一维数组的函数。

自己的思绪是用slice接口把数组中的一位数字切出来,然后拼接concat下一位数字。有好的思路,留言哈

接下来编程就截至了。其中最根本的是楼主没用过牛客网上的JavaScript(node
0.12.12)编程过,所以全程就一定于是在纸上写代码。会了就不会犯那样多低级错误了。(磕墙……)

从此问了一部分标题。

1.三列布局怎么落到实处啊,都有怎么样方法。

2.flex布局了解吗?

3.近年来在看怎么新技巧?

4.看过哪些博客逛过哪些论坛?

5.怎么学习前端的?

6.您以为温馨还有何优点。

 

作者:Lx15
链接:https://www.nowcoder.com/discuss/37900
来源:牛客网

  1. 自我介绍

  2. 怎么接纳前者

  3. 说一下html5 与html4   

  4. html5 都囊括什么,我提到语义化,然后问 em/strong/i 都怎么用的

  5. canvas 与svg 

  6. requestAnimationFrame 

  7. http 协议的格式

  8. base64 的原理

  9.  表单上传图片的请求格式是什么样的

  10. get post 区别

  11. 同源策略 

下一场没了,,一共24min, 面试官很nice,
第四回通电话我在宿舍,第二次我在电梯,首次才正式开始,希望nice的面试让过呀。。。。

小编:offer真的来了
链接:https://www.nowcoder.com/discuss/37117
来源:牛客网

2、bootstrap 布局,栅格布局 ,怎么处理分化装备上的差别

3、http 304 状态码是怎样看头?其余状态码?HTTPS

4、ajax跨域,有何样解决方法,举了多少个实例让贯彻跨域,访问子域算不算跨域等之类

5、一多少个不难的算法题(记不清了)

6、求数组中最大数

7、事件委托,点击 ul 中的li 弹出li内容,动态添加li

8、原型链继承:    b.prototype =new a() 不对吧? 

9、es6 ,异步原因,promise set map等等

10、事件流 

11、cookie

12、数组去重

13、项目

 

9-20

  1. 1.      
    http等方面统计http://www.cnblogs.com/haoyijing/p/5898420.html#html11

目录:

  1. Cookie
    是还是不是会被覆盖,localStorage是或不是会被覆盖?
  2. 怎样保持登陆状态?
  3. Ajax原生
  4. Jsonp的法则。怎么去读取一个script里面的数据。
  5. 万一页面初始载入的时候把ajax请求再次回到的数码存在localStorage里面,然后每一趟调用的时候去localStorage里面取数,是或不是管用。
  6. 304是怎么着意思?
  7. 强缓存和协议缓存的命中和保管
  8. http请求和响应的新闻结构
  9. http请求头有如何字段
  10. http响应常见状态码
  11. 简述http 1.1 与 http
    1.0的区别
  12. 请列举三种禁止浏览器缓存的头字段,
    并写出相应的设置值
  13. 和客户端浏览器缓存相关的http头
  14. Cookie跨域请求能不可能带上
  15. js异步的格局(promise,generator,async)
  16. Get和post的区别
  17. Post一个file的时候file放在哪的?
  18. 五回握手
  19. tcp/ip/http对应哪一层
    七层模型
  20. 浏览器中输入网址后到页面显示的经过
  21. 浏览器是怎么着开展加载, 解析, 渲染的吗?
    重点说一下浏览器渲染页面的进程?
  22. cookie和session的区别
  23. 同步和异步的界别
  24. 浏览器发送cookie时会发送哪多少个部分?
  25. cookie由哪几部分组成?
  26. 请描述一下 cookies,sessionStorage 和 localStorage
    的差异?
  27. 浏览器本地存储与服务器端存储之间的区分
  28. sessionStorage和页面js数据对象的分别

  1. js完结跨域

9-22

  1. 1.       css之父写的,前opera 首席营业官
    博士小说:层叠样式表
  2. 2.       React 源码剖析连串 - 莫明其妙的 react diff

https://zhuanlan.zhihu.com/p/20346379

3.React源码分析1 —
框架

http://blog.csdn.net/u013510838/article/details/55669742

  1. 3.       单向数据流 flux

她发起使用flux方式来进展零部件间数据传输,那种做法叫unidirectional data flow(单向数据流),单向数据流的功利是与事先angularJS提出的two-way data binding相相比而言,因为单向,所以各个变动都是可预测、可控制的。不像two-way data binding那么,变化一但复杂起来,我们都相互接触变化,到终极一个地点变了,你根本猜不出来她还会导致其余什么地方接着一块儿变。那几个需求大量履行才能享有感受,假如你初学,那听听即便了,不必死磕。

  1. 4.       Virtual dom

以此事物的好处是缩减DOM操作,减少DOM操作的目标是进步浏览器的渲染品质

  1. 5.       Diff算法

6.多少绑定

7.  组件化开发

 

8.react有哪些用?优点和瑕疵有何样?

喜欢React的人不少,但是喜欢它的原因都不太相同

相比较实际的亮点:

可见得以已毕劳务器端的渲染,便于寻找引擎优化。那点要比Backbone, Angular
1.x和Ember早期强

可以很好的和水土保持的代码结合。React只是MVC中的View层,对于其余的一些并不曾硬性要求。意味着很多集团在增选拔Angular全体重构和用React部分重构的时候,拔取了React部分重构

因为一切都是component,所以代码尤其模块化,重用代码更易于

学起来极度简单,多少个钟头就足以入门

因为强调只从this.props和this.state生成HTML,写起来bug比较少

比较高大上的独到之处,就是豪门在大会上会说的亮点:

因为用了virtual dom,所以品质很好

因为强调只从this.props和this.state生成HTML,所以这些的functional
programming

缺点:

并不是一个完全的框架,基本都必要加上ReactRouter和Flux才能写大型应用

 

9-25

1.
DNS要挟的场馆:你输入的网址是http://www.google.com,出来的是百度的页面。

HTTP恐吓的景况:你打开的是天涯论坛的页面,右下角弹出唐老师的不孕不育广告。

  1. 光阴复杂度

http://www.cnblogs.com/huangbw/p/7398418.html

3. D3.js是一个数据可视化的库,看看他们的DEMO就可以知道,技术基础是SVG。兼容性是IE9+。

  webgl是HTML5中提出的新技术,是一种3D绘图标准,这种绘图技术标准允许把JavaScript和OpenGL ES 2.0结合在一起,关于它的教程可以看看hiwebgl。目前兼容性堪忧

  three.js是以webgl为基础的库,封装了一些3D渲染需求中重要的工具方法与渲染循环。它的教程同样可以在hiwebgl里面找到。

  three.js之于webgl,类似于windows版本的虚幻引擎之于D3D。当然,虚幻引擎的能力范围比three.js大得多。d3.js跟上面两者没有关系。

4.   这两个引擎各有所长的,具体那个好要看目的是什么。

  OpenGL经过多年的洗刷,已经成为绘图引擎的标准,OpenGL的绘图质量毋庸置疑,是最高的,OpenGL的编程相对的也会比较复杂,但是上手很简单,OpenGL用来追求完美的绘图精确度,而且通常有各种辅助库可以用来往其他设备上输出数据,比如打印机。

  DirectX的专为游戏而生,它的绘图精度满足一般游戏的所需,而且DirectX还包含了不少用来在游戏中处理其他数据的辅助库,包括声音数据,输入输出,等等等等。

  所以,想专精追求绘图,OpenGL是首选,如果要编程效率和其他功能DirectX是首选。

5. 羡辙-着色器-卡通渲染 https://zhuanlan.zhihu.com/p/25595069

http://www.cnblogs.com/wanbo/p/6754066.html[图解WebGL&Three.js工作原理](http://www.cnblogs.com/wanbo/p/6754066.html)

Three.js入门指南https://read.douban.com/ebook/7412854/

 

 

9-26. 邮科院被黑

9-27. 

1.VPN原理

2.
SSH原理与利用(一):远程登录http://www.ruanyifeng.com/blog/2011/12/ssh\_remote\_login.html

3.cnpm着实好用!!!

gulp环境中 gulp-sass为啥一贯安装败北?

https://www.zhihu.com/question/48845226/answer/113193051

  1. Gulp 方法

http://www.cnblogs.com/White-Quality/p/5756106.html

率先,gulp的源码里从未任何一片段是概念pipe的。

https://segmentfault.com/q/1010000003861104?sort=created

gulp的pipe方法是根源nodejs stream API的。
gulp本身是由一多元vinyl模块社团起来的。

http://www.ydcss.com/archives/424

 

  1. 6.       总计机工程与应用

http://muchong.com/html/201303/5591922.html

http://muchong.com/bbs/journal\_cn.php?view=detail&jid=358

网站地图xml地图