校招基本结束,总计一下

校招的那段时光读书到了举不胜举

终十分的大致是签订契约新加坡美团点评

用Word计算了不少题材。公布在此地


 

 

7-13:

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

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

你想嵌套多少深度就嵌套多少深度(可是理智的做法是维系二个创建的档次)。

2:总结flexbox

三:规划布局

4:CSS选择器

伍:现代各个布局

6:Hexo

7:react+redux书

 

7-17:

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

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

三:技术之瞳

4:jquery的each,map等方法

⑤:数组和目的的浓度拷贝

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

 

7-18

1:MD5那种JS文件无法间接在index.js里面载入,必要用webpack参与的原委和怎么样进入?

2:webpack二.第22中学文文书档案 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

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

二:backbone路由的包装如何做的

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

 

7.25

一.JS原生的onclick事件写法

二:左右添加

三接口不另行难题

 

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而言都是能够访问的,可是,这并不表示这一个要素关联的文本都早已下载达成。

  举三个例证,有2个特大型的图库网址,为网页中的全体图片添加某个行为,例如单机图片后让他潜伏或出示。就算使用window.onload方法来拍卖,那么用户必须等到每1副图片都加载达成后,才能够实行操作。如若利用jquery中的$(document).ready()方法来展开设置,只要DOM就绪就能够操作了,不必要等待全部图片加载完结。鲜明,吧网页解析为DOM树的速度比呢网页中的全体涉及文件加载完成的素的快很多。

  其余,需求注意一点,由于在$(document).ready()方法内注册的风浪,只要DOM就绪就会被实践,因而或然此时元素的涉嫌文件未下载完。例如与图片有关的HTML下载实现,并且1度即诶下为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高级程序设计第壹版:重复定时器

四、 
如何制止多重临调—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保留异步在无阻塞上的优势,又能让大家写代码写的更舒心

伍、  margin坍塌?水平方向会不会坍塌

http://www.cnblogs.com/hugejinfan/p/5901320.html水平方向不会冒出margin坍塌 

陆、  伪类和伪成分差别

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.}

玖、使用flex布局实现叁等分,左右多少个因素分别贴到右边和右手,垂直居中

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

十、日常怎么着学前端的,看了什么书,关怀了如何群众号

二面

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的贯彻)

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

数组的性状是不慢随机走访
链表的天性是神速插入删除

4、对mvc的理解

五、描述二个纪念最深的系列,在当中担任的角色,化解哪些难题

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

400(错误请求)

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

401(未授权)

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

403(禁止)

服务器拒绝请求。

一xx(一时响应)二xx(成功)三xx(重定向)肆xx(请求错误)5xx(服务器错误)

七、  描述下二分查找

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

8、  在函数中利用array.prototype.slice.call(arguments,一);的作用?

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

三面

一、为啥选用前者,怎么样学习的,看了什么样书,《js高级程序设计》和《你不掌握的js》有何样区别,看书,看博客,看民众号三者的岁月是哪些分配的

二、如何评论bat

三、描述下在实习中做过的一个种类,消除了何等难点,在里头充当了什么剧中人物?那一个过程存在哪些难点,有啥样值得革新的地点

四、怎样对待加班,要是有个品种供给再而三二个月加班,你怎么看

5、境遇的下压力最大的1件事是哪些?怎么样消除的

六、平时有怎么着爱好

7、本人有待立异的地点

捌、n长的数组放入n-3个数,不可能再一次,找出1贰分缺点和失误的数

思路:数组之和减去自然数之和,结果正是丰裕重复的。

等差数列求和公式

 

 

玖、手里有何样offer

10、你对此第一份工作最尊重的两个方面是什么样

11、怎么着评论将来的前端

1二、有如何难点

壹上午面了近乎八个小时完结了3面,当天夜间就接到了叁面面试官的对讲机说面试通过了,炒鸡神采飞扬,校招这么久以来接受的率先个offer~后来又询问到是凤巢部门,于是就决定去那里了

 

 

7-28

一:JS异步开发教程

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

 

7-31

一:自身的产品

2:JavaScript创设对象的二种艺术

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

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

4:

 

1、手写jsonp的实现

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

 

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


解题思路: 
例行思路为先取得链表的长度N,然后再次回到N-k+一个人置处的结点即可。但是中须求遍历四遍链表。 
大家运用另一种算法,设定多少个指针p一,p二.将那五个指针都向第贰个结点,让p1先走k步,然后五个指针一起向后运动,当p1到达最终一个结点时,p二指针刚好指向链表的倒数第k个结点。

 

3、  http请求行,请求头,请求体,cookie在哪些里面?url在何地面?

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

cookie在乞求头,url就像在请求行?

4、  原型链的演说

原型链是作为落实持续的严重性格局,基本思量是选拔原型让贰个引用类型继承另一个引用类型的习性和办法。

五、 
对闭包的驾驭,实现1个爆出内部变量,而且外部能够访问修改的函数(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。还有第11中学复杂的数据类型————ObjectObject真相上是由1组严节的名值对组合的。Array,Date,Function+基本包装类Number,String,Boolean均归于Object

 

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

发现有了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在传输层,应用层1般是我们平常接触的事物HTTP在应用层A大切诺基P(地址解析协议)在链路层

1二、网站品质优化

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

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

一三、快排的时刻复杂度和空间复杂度。

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就会Infiniti循环

一面问的基础知识很多,但是基本都答出来了,面完后某个蒙逼。

2面是一人女面试官,给的下压力十分的大,人相比肃穆,不苟言笑,后来据悉二面是压力面,二面问了41玖分钟。

贰、在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 贰.0.3 源码分析core –
全体架构

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

三、手写叁个递归函数(调查arguments.callee,以及arguments的分解)

// arguments.callee 是3个针对正在执行函数的指针

function factorial(num)

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

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

caller

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

 callee

当函数被调用时,它的arguments.callee对象就会指向本身,也正是二个对协调的引用。
是因为arguments在函数被调用时才使得,因而arguments.callee在函数未调用时是不设有的(即null.callee),且解引用它会生出十三分。

 

四、对前者路由的精晓?前后端路由的分别?

1,什么是前端路由?
路由是依据不一致的 url 地址展现分歧的始末或页面
前者路由就是把不一致路由对应分裂的剧情或页面包车型大巴天职交给前端来做,从前是因而服务端根据url 的两样再次来到不一样的页面实现的。
2,几时利用前端路由?
在单页面应用,超过百分之陆十页面结构不变,只变动1些情节的运用

三,后端路由:

每跳转到不相同的U悍马H2L,都是重新访问服务端,然后服务端再次来到页面,页面也足以是服务端获取数据,然后和模板组合,再次回到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 ES陆
  2. Template Literals (模板文本)in ES陆
  3. Multi-line Strings (多行字符串)in ES6
  4. Destructuring Assignment (解构赋值)in ES6
  5. Enhanced Object Literals (增强的目的文本)in ES陆
  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

八、  前后端分离的意义以及对前者工程化的明亮

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

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

模块化:webpack解惑:require的各类用法

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

规范化:规范化其实是工程化中很重大的一个局地,项目初期规范制定的好坏会直接影响到末代的费用品质。

本人能想到的有以下壹些剧情:

目录结构的创造

编码规范

内外端接口规范

文书档案规范

组件管理

Git分支管理

Commit描述规范

定期CodeReview

视觉图标规范

自动化:笔者觉着,前端工程化的很多脏活累活都应有交由自动化学工业具来完成。

### 图标合并

绝不再用PS拼7-Up图了,统1走Webpack吧;

无须再用Icomoon了,统一走Webpack吧。

### 持续集成

### 自动化营造

### 自动化布置

### 自动化测试

十、使用css完结3个三角

#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效果?

一3、解释一下call函数和apply函数的意义,以及用法

1、介绍一下和谐

贰、你说自个儿抗压能力强,具身体表面今后何地?

3、对前者前景的展望,现在前端会怎么提升

四、手写第1次面试未有写出来的链表难题,必要用es陆写

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

6、平日大学内部时间是怎么规划的?

7、接下去有怎样布置?那一个学期和下个学期的安插是?

八、项目中相遇的难点,只怕你读书路上的难题

九、你是经过哪些点子和路线来上学前端的

12、你在协会中更倾向于如何角色?

13、对java的理解

1四、介绍node.js,并且介绍你用它做的档次

 

百度外卖

 

壹、介绍本身

二、手写一个js的深克隆

三、for函数里面setTimeout异步难题

至于for循环里面异步操作的题材

for 循环中的setTimeout(function(){})异步难点,为啥改var 为let就足以解决?

 深切领会JavaScript编制程序中的同步与异步机制

四、归并排序

 

1、达成四个数组的排序合并,作者一开首先统1再排序,他不乐意,然后笔者用了近乎插入排序的措施。

二、手写叁个原生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端设计的,它是3个联袂的情势。但是那种形式并不合乎于浏览器端,大家着想一下万一浏览器联合格局一个三个加载模块,那么打开将会变得不行的慢,所以速龙正是为了那个出生,它最大的特色正是能够异步的格局加载模块。(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

二:浏览器缓存机制

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

3:图片轮播

锋利的JQUERY

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

3.五Jquery的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 预处理器定义了一种新的言语,其主导思想是,用1种特别的编程语言,为
CSS 扩张了一部分编制程序的特点,将 CSS
作为对象转移文书,然后开发者就假若利用这种语言举行编码工作。

浅显的说,“CSS 预处理器用1种专门的编制程序语言,进行 Web
页面样式设计,然后再编写翻译成正常的 CSS 文件,以供项目选择。CSS 预处理器为
CSS 扩充一些编制程序的表征,无需考虑浏览器的包容性难点”,例如你能够在 CSS
中行使变量一言以蔽之的逻辑程序函数(如左侧代码编辑器中就利用了变量$color)等等在编制程序语言中的1些基本脾性,能够让您的
CSS 更为简洁适应性更加强可读性更佳更便于代码的掩护等很多便宜。结构清晰,便于增加,轻松达成多重继承

6.有关变更的法则和行事章程,你能够描述一下么

转移成分脱离文书档案流,不占用空间。浮动成分蒙受包含它的边框也许变更成分的边框停留。

7.变化会产生如何影响呢,要怎么处理?

父成分的莫大不可能被撑开,影响与父成分同级的因素
与转移成分同级的非浮动成分(内联成分)会跟随其后
若非第3个因素浮动,则该因素此前的因素也亟需转变,不然会影响页面突显的构造

消除方法:
使用CSS中的clear:both;属性来解除成分的变化可消除2、三标题,对于难题一,添加如下样式,给父成分添加clearfix样式:

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

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

 

捌.您打探哪些采用器?以及这个选拔器的施用情况?

玖.你明白它们的权重怎么总括么

  1. 率先等:代表内联样式,如: style=””,权值为一千。
  2. 第二等:代表ID选择器,如:#content,权值为100。
  3. 其三等:代表类,伪类和总体性选拔器,如.content,权值为10。
  4. 第4等:代表类型选拔器和伪成分选取器,如div p,权值为壹。

1贰.你从jQuery学到了怎么样?(跳坑了竟说自个儿看过源代码…然后不会说了..)

1六.说说函数表明式和函数注解的不相同(变量进步和函数进步)

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

1八.你精晓attribute和property的分化么

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

要素上的质量(包含自定义)都以attribute,但唯有id,title,class等还要也是property,attribute正是DOM元素自带的习性,property是以此成分作为对象附加的内容,比如firstChild等

1玖.平日有打探web品质么,壹般要关切怎样点?

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

二一.天猫商城那边的商品项,如图片,滚动到了才加载,你掌握怎么落到实处么

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

 

8-4

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

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

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

hash 属性是三个可读可写的字符串,该字符串是 ULX570L 的锚部分(从 #
号初始的局地)。

语法: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. ES六解构赋值,箭头函数

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

一: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)
);
}
使用闭包能够消除了,为何第3次代码中的i读取的第3手是I变量的结尾的结果吗?
那3个大神能给分析一下第3段代码的实施的具体步骤呢?

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

 

贰:为啥要求闭包呢

一部分变量不可能共享和长期的保留,而全局变量大概引致变量污染,所以我们期望有壹种机制既能够一劳永逸的保留变量又不会导致全局污染。

特点

占据更加多内部存款和储蓄器

不便于被放出

曾几何时使用

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

怎么着行使

1.定义外层函数,封装被敬服的1对变量。
二.概念内层函数,执行对外表函数变量的操作。
三.外层函数重返内层函数的对象,并且外层函数被调用,结果保存在七个大局的变量中。

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和JQUEMuranoY 然后从创作出手写3个工程

廖雪峰+MDN+JS高级+你不精通的JS+JQUE大切诺基Y

 

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属性。

要认清3个属性是或不是是xiaoming自作者拥有的,而不是继续取得的,能够用hasOwnProperty()方法:

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

for…in 言语用于遍历数组可能目的的习性

 

8-8

3.ES6新类型Map和Set

开始化Map需求三个2维数组,可能直接初叶化贰个空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用作输入,只怕间接创制1个空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循环是ES陆引进的新的语法

 

你大概会有疑点,for ... of循环和for ... in循环有什么差别?

for ... in巡回由于历史遗留难题,它遍历的实际是指标的质量名称。多个Array数组实际上也是1个指标,它的每种成分的目录被视为2个性质。

当大家手动给Array对象添加了额外的属性后,for ... in循环将拉动意料之外的意外效果:

for ... of巡回则统统修复了那么些标题,它只循环集合本人的成分:

 

那就是干什么要引进新的for ... of循环。

然则,越来越好的办法是间接行使iterable内置的forEach方法,它接受3个函数,每回迭代就自行回调该函数。以Array为例:

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

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

// element: 本着当前成分的值

// index: 本着当前目录

// array: 指向Array对象自笔者

alert(element);

});

SetArray类似,但Set不曾索引,由此回调函数的前多少个参数都以因素本人

 

  1. 函数

 

①作用域

名字空间

大局变量会绑定到window上,不一样的JavaScript文件假诺接纳了一样的全局变量,也许定义了1致名字的顶层函数,都会导致命名争辨,并且很难被发觉。

调整和缩短争辩的一个格局是把温馨的富有变量和函数全体绑定到二个全局变量中。例如:

// 唯1的大局变量MY应用程式:

varMYAPP = {};

// 其余变量:

MYAPP.name
=
‘myapp’;

MYAPP.version
=
1.0;

// 其它函数:

MYAPP.foo
=
function () {“

`**return** 'foo';`

};

把温馨的代码全部放入唯一的名字空间MYAPP中,会大大裁减全局变量龃龉的或是。

很多天下有名的JavaScript库皆以这么干的:jQuery,YUI,underscore等等。

 

②变量

由于varlet表明的是变量,假使要说宾博(Aptamil)个常量,在ES陆在此以前是万分的,大家一般用全套大写的变量来代表“这是三个常量,不要改动它的值”:

varPI =3.14;

ES陆专业引进了新的根本字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的拥有指标都以动态的,尽管内置的函数,大家也得以重新指向新的函数。

近来一经大家想总括一下代码1共调用了不怎么次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()接收的回调函数能够有三个参数:callback(currentValue, index,
array),经常我们仅须要首先个参数,而忽视了传播的背后两个参数。不幸的是,parseInt(string,
radix)未有忽视第二个参数,导致实际履行的函数分别是:

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

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

parseInt(‘2’, 贰); // NaN, 按二进制转换区别意出现二

能够改为r = arr.map(Number);,因为Number(value)函数仅收取贰个参数。

 

Filter()

Arrayfilter()也吸收三个函数。和map()今非昔比的是,filter()把传播的函数依次功用于种种元素,然后根据再次来到值是true还是false支配封存依旧屏弃该因素。

能够用来数组去重

 

箭头函数对this的影响

this

箭头函数看上去是匿名函数的1种简写,但实则,箭头函数和匿名函数有个明白的分别:箭头函数内部的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(生成器)是ES六正规引入的新的数据类型。1个generator看上去像一个函数,但可以回去多次。

 

正规对象

总括一下,有这么几条规则须求遵循:

一.并非接纳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

八.断定某些全局变量是还是不是存在用typeof window.myVar === 'undefined'

玖.函数中间判断有个别变量是或不是留存用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应该类别化的多寡

反类别化

获得1个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 = {};

贰.
设置新指标的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属性,那本个性是二个指针,指向1个目的,而以此目的的用途是包蕴能够由特定类型的有所实例共享的性质和措施。

Constructor(构造函数)属性包罗的是一个对准prototype所在函数的指针,通过那些构造函数能够延续为原型对象添加方法和天性。

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

 
例如Array.prototype.slice.call();实际上Array正是1个构造函数啦!所以用的是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派生3个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,把2个子节点添加到父节点的末段贰个子节点。

 

如果大家要把子节点插入到内定的岗位怎么做?能够利用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那样的第三方插件来落实。

乘胜HTML五的推广,新增的File
API允许JavaScript读取文件内容,获得越来越多的文件音讯。

HTML5的File
API
提供了FileFileReader四个不可或缺目的,能够取得文件音信并读取文件。

上面包车型客车例证演示了哪些读取用户选拔的图片文件,并在三个<div>中预览图像

  1. 自身评价

推荐语:自身本科时期是数学专业的,由于对总结机编制程序的钟爱,硕士转向总结机系,两年时间的种类开发经历,使得本身的编制程序能力有了相当大的增加。技术方面领悟明白数据结构、操作系统、计算机互连网;并对大旨算法及常用设计情势有较好的牵线。熟识精晓Java语言及其高级特性,包含集合、I/O流、反射、10贰线程并发;并对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-四和CET-陆,具备阅读英文文献和骨干的维系能力。在结束学业来临之际,希望自身能有机遇和顶尖的严正职员和工人1起学习升高,共同成立下1个高大的时代!

 

  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
上应用1二分的响应式行为。简言之,这里该指令的效应是:“将以此成分节点的 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()方法“

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

`this.name
= `’Square’;“

}“

`get area() `{“

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

}“

`set area(value) `{“

`this.area
= value`;“

`} `

}

 

Getter/Setter访问器属性

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

语法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}

 

四:通过并且设置成分的top和bottom,分明因素的冲天。

 

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

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

借使想让3个因素的比重中度height: 100%;起功能,你供给给那些成分的具有父成分的可观设定3个有效值。

 

 

陆:定宽成分居中方法2

{position:absolute;

left:50%;

width:300px;

margin-left:150px;}

 

七:利用伪成分::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

一.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;

}

 

陆.怎么 .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. 行使数组+壹+一这么形成对话?
  4. 何以react的机件要super(props)
    1. 调用super的原委:在ES6中,在子类的constructor中务必先调用super才能引用this ``(经测试,不调用``super``会报错);
    2. super(props)的目的:在constructor中得以应用this.props
    3. 最后,可以看下React文档,里面有1段

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’});

2   当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数组写法1:

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源码 )所以

一.你依旧在开立的时候绑定:

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

2.或然在1始发构造器里声称绑定

constructor(props){

  super(props);

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

三.还有1种是选取闭包把功用域包起来

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

只要用第三种 会在每一回点击时经过bind创制2个新的措施,所以壹般用二 叁三种情状,呈现调用bind()只是为了确认保证this值。

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

*创制绑定函数  bind() 最简易的用法是创办3个函数,使那么些函数不论怎么调用都有同等的this值。[JavaScript](http://lib.csdn.net/base/javascript)新手日常犯的多个错误是将3个办法从目的中拿出去,然后再调用,希望方法中的this是本来的对象。(比如在回调中传播那几个法子。)假设不做特殊处理的话,一般会丢掉原来的靶子。从原来的函数和原先的对象创立一个绑定函数,则能极漂亮地消除那些难点:*

this.x =9;

varmodule = {

x:81,

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

};

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

varretrieveX = module.getX;

retrieveX();// 重返 玖, 在那种情状下,”this”指向全局功效域“

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

// 新手大概会被全局的x变量和module里的属性x所吸引“

varboundGetX = retrieveX.bind(module);

boundGetX();// 返回 81

重组那里的事例实行驾驭,React构造方法中的bind即将handleClick函数与那么些组件Component进行绑定以担保在那么些处理函数中使用this时能够每14日指向这一组件

 

  1. 7.       JQUERY对象转DOM对象

两种转移格局将叁个jQuery对象转换到DOM对象:[index]和.get(index);

(一)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 );

`1起头出错的原委是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最基础的异步函数是setTimeout和setInterval。setTimeout会在必然时间后执行给定的函数。它接受二个回调函数作为第贰参数和3个阿秒时间作为第一参数。

1二.JS的单线程和异步机制

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

什么样领悟阻塞非阻塞与共同异步的区分?

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

JavaScript单线程和异步机制

虽说JavaScript是单线程的,只是浏览器内部不是单线程的。你的局地I/O操作、定时器的计时和事件监听(click,
keydown…)等都是由浏览器提供的任何线程来形成的。

假如想利用十二线程处理局地耗费时间较长的天职,可以利用HTML五建议的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分钟

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

  1. display有如何值?表明她们的功用

None,block,inline-block,table,cell

  1. requirejs达成原理

基本原理是动态生成script标签,比如requirejs,seajs。还有一部分是ajax请求js代码,然后eval执行的。别的可以关心一下MT.手提式有线电话机今日头条,基于localstorage来做到路字符级别的增量更新

  1. requirejs怎么防患重复加载

柒.ES6里头的箭头函数的this对象与任何的有甚分裂

8.tcp/udp区别

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

小结TCP与UDP的区别:
1.基于连接与无连接;
贰.对系统能源的要求(TCP较多,UDP少);
三.UDP程序结构较简单;
四.流格局与数量报形式 ;
伍.TCP保障数据正确性,UDP或然丢包,TCP有限补助数据顺序,UDP不保险。

  1. tcp一回握手进程

TCP1遍握手进度
1 主机A通过向长机B 发送3个暗含同步连串号的标志位的数码段给主机B
,向长机B 请求建立连接,通过这一个数据段,
主机A告诉主机B
两件事:小编想要和您通讯;你能够用哪个种类号作为开端数据段来回应作者.
二 主机B
收到主机A的央浼后,用1个包罗确认应答(ACK)和1道系列号(SYN)标志位的数据段响应主机A,也告知主机A两件事:
自身早就接收你的呼吁了,你能够传输数据了;你要用哪佧种类号作为开局数据段来回应自小编
三 主机A收到那个数据段后,再发送1个承认应答,确认已接收主机B
的数据段:”作者已接收回复,笔者后天要初始传输实际多少了
这么3遍握手就形成了,主机A和主机B 就足以传输数据了.
二次握手的特色
未曾应用层的多寡
SYN那么些标志位只有在TCP建产连接时才会被置1
握手实现后SYN标志位被置0

  1. xss与csrf的规律与怎么防患

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

一XSS定义的主语是“脚本”,是一种跨站实施的本子,相当于JavaScript剧本,指的是在网站上注入我们的javascript本子,执行违法操作。 
CS大切诺基F定义的主语是”请求“,是1种跨站的仿冒的伸手,指的是跨站伪造用户的请求,模拟用户的操作。

贰XSS攻击发生的口径是能够进行javascript脚本,壹般在站点中总会有揭橥文章、留言等新闻的表单,那种表单一般是写入到数据库中,然后在某些页面举办展示。我们得以在这一个表单中央直机关接编写javascript代码(<script>alert("hack
sucess!");</script>
)进行测试,看是或不是足以实施。借使在音信突显页面js代码能够实施,XSS攻击就成功了。

CS凯雷德F(克罗丝-site request
forgery跨站请求伪造)是1种信赖web浏览器的、被歪曲过的代办攻击。CS福特ExplorerF定义的主语是”请求“,是壹种跨站的制假的伸手,指的是跨站伪造用户的请求,模拟用户的操作。

 

GET和POST的使用

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

XSS和CS帕杰罗F攻击的防御

防御XSS攻击能够因而以下两上边操作: 
一,对用户表单输入的数量开始展览过滤,对javascript代码举办转义,然后再存入数据库; 
二,在消息的展现页面,也要举行转义,幸免javascript在页面上推行。

 

CS宝马7系F攻击的守卫能够通过以下两上面操作: 
一,全数需求用户登录之后才能履行的操作属于第一操作,那一个操作传递参数应该运用post方式,特别安全; 

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

  1. mysql与 MongoDB的区别

关系型数据库:最常见应用最广的1类数据库,建立在事关模型基础上数据模型差不多上便是贰维表,一个崛起的性状是用SQL举办操作,能满意半数以上要求。常见的MySQL,Oracle,Microsoft
SQL Server等。

MySQL,开源的关系型数据库,在当代数据库中相比典型,能满意你超过八分之四急需,终归Oracle很贵。一般用起来要运行三个MySQL的服务,然后用客户端去老是它,比如在Java里依旧用shell连接127.0.0.一:330六。之后就能够喜出望外地推行SQL语句增删查改了。

事例:比如学生新闻保管体系,服务器1二三.1二三.1二3.1二三:30陆上用的MySQL,另一个服务器上的Web应用能够接连到它,学生基本音讯八个表,班级音讯一个表。学生的班级id字段是外键连接到班级音讯表的班级id。

SQLite,二个丰富Mini的关系型数据库,麻雀虽小伍脏俱全。(必要中远距离连服务器上的数据库照旧婴儿用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区别

七.说下您理解的响应状态码

十.对nodejs精晓多少

 

二面:90分钟 (视频面)

先是是八个编制程序题 

二.贯彻3个可拖动的div(要思考到浏览器包容性)

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

 

 

二面:40分钟

一.相遇过如何浏览器包容性难题

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

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

最强浮动消除帖!

  1. js继承

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

 

三面:90分钟

1.你学过数据结构没,说说您都精晓些什么

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

3.您学过总结机组成原理没,说说您都询问些什么

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

伍.说下抉择排序,冒泡排序的落到实处思路

复习技术之瞳

7.让您设计三个前端css框架你怎么办

1二.浏览器缓存的分别

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

一七.js中上下文是何许

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

箭头函数未有本身的 thisargumentssupernew.target,
而是通过上溯词法成效域找到近日概念的那1个.

var obj = {

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

}

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

ES六 箭头函数中的
this?你恐怕想多了(翻译)

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

  1. 当有人说“变量所处的上下文”时,实际指“词法环境”,恐怕我们常说的成效域,即正式中的Lexical
    Environment。
  2. 当有人说“函数的上下文”时,实际指“函数的推行环境”,即规范中的Execution
    Context。
  3. 当有人说“call、apply和bind会改变函数执行的上下文”时,实际指“函数执行时的this”,即行业内部中的this
    binding。
  4. 当有人说“你那段代码要整合上下文才能看出具体意思”时,此处的上下文便是大家经常生活中说的上下文。

 

二一.平时在类型中用到过怎么着设计情势,说说看

 

 

美团

  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

五.webpack怎么着配置

7.link和@import有如何分别

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

1一.出了道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等)中磁盘文件存款和储蓄管理的矮小单位叫做“簇”
扇区:硬盘不是1遍读写二个字节而是一遍读写二个扇区(5十三个字节)
:系统读读写文件的中坚单位,一般为2的n次方个扇区(由文件系统决定)

块能够分包若干页,页能够涵盖若干簇,簇能够涵盖若干扇区

9.

总结机的纤维存款和储蓄单位是字节Byte,一个字节,
是由7位②进制位组成的,即是那5位数字只是由“0”和“1”三个数字构成,例如:11111000,0000000一,0000010一等,3个英文字母、英文标点、半角数字
在电脑是以四人二进制数保存 正是二个字节大小,二个汉字(包罗粤语标点
全角数字)正是二个字节 (十三位二进制)

1个人2进制大小就是一bit

10.

DNS知识点

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

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

C:DNS协议暗中同意端口号是五叁。

D:操作系统的DNS缓存:windows DNS缓存的暗许值是
马克斯CacheTTL,它的默许值是86400s,也正是1天。macOS
严峻遵照DNS协议中的TTL。

   
 游览器的DNS缓存:chrome对各种域名会暗中同意缓存60s;IE将DNS缓存30min;Firefox暗中同意缓存时间只有一分钟;Safari约为10S。

11.

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

12.

线性结构是四个不变数据成分的集合。[1] 

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

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

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

特征

一.会见中必存在唯1的二个”第三个成分”;

2.聚集中必存在唯一的叁个”最终的成分”;

3.除聊起底成分之外,别的数据成分均有唯1的”后继”;

肆.除率先成分之外,其余数据成分均有唯一的”四驱”。

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

如(a0,a1,a二,…..,an),a0为率先个因素,an为最后二个因素,此聚众即为1个线性结构的集合。

相持应于线性结构,非线性结构的逻辑特征是八个结点成分恐怕对应多少个一贯四驱和三个后继。

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

壹伍.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. 思路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()

把数组的第3个成分删除,若空数组,不举行其余操作,重回undefined

变更原数组

回来第3个要素的值


9、 sort()

对数组成分实行排序(ascii)

变更原数组

回去该数组


10、 splice()

从数组中加上/删除项目

变更原数组

回来被去除的成分


11、 unshift()

向数组的初叶添加八个或多个要素

变动原数组

回到新数组的长短

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

B选项,push()方法重返新数组的尺寸,是3个number类型,不是数组,所以无法再用“.”操作符继续执行reverse()方法。错误。

C选项,正确。

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

鉴于a.splice(三,1,四)中的index为三,超越了数组a的下标,所以三背后的一也不会起效果。a.splice(三,一,四)会将四插入到数组a末尾。但splice()重返值是被剔除项目标新数组,由于a.splice(3,一,四)并从未删除成分,所以回来的新数组为空,对空数组reverse()依旧空。(假诺D选项改成a.splice(三,1,4);a.reverse()就不错了。)错误。

 

  1. HTTP2.0

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

多路复用

多路复用允许同时通过单壹的 HTTP/二 总是发起多重的伏乞-响应音讯。

显然 ,在 HTTP/1.1 协议中
「浏览器客户端在同权且间,针对同1域名下的央求有肯定数量限制。超越限定数量的呼吁会被卡住」。

能够给请求添加优先级

服务器主动推送 server push

首部压缩:HTTP二的头顶会减小,从而减弱流量传输

 

  1. position: sticky 

  CSS属性选拔用于固定成分的代表规则,被设计为对台本动画效果有用。position属性中最有趣的就是sticky了,设置了sticky的要素,在荧屏范围(viewport)时该因素的职责并不受到一定影响(设置是top、left等属性无效),当该因素的地方将要移出偏移范围时,定位又会化为fixed,根据设置的left、top等天性成固定地方的效劳

 

我们供给完毕动态加载八个 JavaScript 财富,不过有几处不掌握什么样处理,需求你的扶植达成那1项工作

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

即守旧的原生应用程式开发格局,Android基于Java语言,底层调用谷歌(Google)的
API;iOS基于OC恐怕Swift语言,底层调用App官方提供的API。体验最终。

  • Web App

即运动端的网址,将页面布置在服务器上,然后用户采纳各大浏览器访问。一般泛指
SPA(Single Page Application)情势开发出的网址。体验最差。

  • Hybrid App

即混合开发,由Native通过JSBridge等办法提供统一的API,然后用Html5+JS来写实际的逻辑,调用API,那种方式下,由于Android,iOS的API1般有一致性,而且最终的页面也是在webview中展现,全数有跨平台功用

  • React Native App

推特(Twitter)发起的开源的一套新的应用软件开发方案,使用JS+部分原生语法来兑现效益。初次学习花费较高,不过在入门后,经过美貌的包裹也能够完结多数的跨平台。而且体验很好。

对比Hybird和React Native

hybird的产出可是是为了表现,说实话假诺没有css,或者hybird那种事物就不会产出。要是您打算做二个谍报客户端,hybird相对是不2的选拔。而相互永远是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 是 HTML伍 的地头存款和储蓄,把一些数据存储到浏览器(客户端)中,当与网络断开时,能够从浏览器中读取数据,用来做一些离线应用。

库克ie 通过在客户端 ( 浏览器 ) 记录音讯鲜明用户地方,最大为 4 kb 。

url 参数用的是 get 方法,从服务器上获取数据,大小不能超越 二 kb 。

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

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

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

8.

原型链找不到时,再次来到的是undefined而不是null;

  1. 出口对象中值大于二的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)的再次回到值是 1个数组,个中带有对象的可枚举属性和章程的名号。

Array.filter(function)对数组举办过滤重临符合条件的数组。

Object.keys(data)的再次来到值为数组[“a”,”b”,”c”,”d”],经过 filter(function(x)
{
return ; })过滤,重返值大于贰的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;

}

 

1壹.没多少的时候的饼图

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.
ES陆块级成效域及新变量注解(let)

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

一伍.ES陆模块的实现

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

1陆.阐释现代前端组件化框架1些第一本性达成的规律

组件化学工业机械制

多少绑定机制

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

一七.函数柯里化

 

 

8-24

一.箭头函数能否作为构造函数

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

(本身和服务器时间的同步难点?)

3.成分相对于浏览器左上角的离开

rectObject = object.getBoundingClientRect();

重回值是二个 DOMRect 对象,那些指标是由该因素的 getClientRects() 方法重临的1组矩形的汇集,
即:是与该因素相关的CSS 边框集合 。

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

 

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

一.您是3个怎么的人?请你选拔多少个词描述本身。为了描述更生动,每一个描述词后请举例表达。(限300字)

和睦相处:从小到大种种集中华全国体育总会有因为各样原因显得很弱势的人,作者都会在看不下去的时候拉一把。
活力:即便学士毕业已经二陆周岁了,然则本身可能因为家里有个四姐,所以我的情怀更青春,遇到曲折也不便于遇到打击。
进化:即便不是总括机系,但是本身对电脑的友爱促使本身制服了各种不便完成学业的同时间控制制了多地点的技艺。

贰.前途,您希望团结变成1个什么样的人?为此您付出了如何努力?(限300字)

将来作者愿意从事电脑方面包车型大巴工作,在技术方面多加磨炼,成为三个天地的大腕。
自家本科和学士即便均不是计算机系,由于对电脑编制程序的挚爱,从学士入学起,两年岁月的品类开发经历,使得自个儿的编制程序能力有了相当大的增进。有记录和享用的习惯,
有谈得来长时间更新的技能博客。
技术上面对电脑互联网,基本算法及数据结构有较好的主宰。纯熟精晓JavaScript语言,包蕴ES陆局地特点,原生JS
基础扎实。纯熟精通HTML5,CSS技术,蕴涵但不限于跨域,Session,flex布局等技术。
熟知Web
框架Backbone,React,JS框架Jquery,underScore,Css框架Bootstrap等主流框架,并且对vue也具有明白,并且对源码有过学习和研读。
后端上在温馨的门类中应用过PHP和Node.js,使用express框架合作moongoose使用了MongoDB,精通并会使用MySql数据库,熟知数据库的基本处理。
其余,在本科和硕士时期,积极加入校内校外实践活动,并数十次拿走奖学金,硕士学业奖学金五次。语言方面通过CET-六,具备阅读英文文献和中央的联系能力。

三.您怎么对待本人结业后的率先份工作?为啥?(限300字)

先是份工作自身认为能进大商厦就进大商厦,中国邮电通信就是中间的一流,以中国际联盟通举例,中国际联盟通的阳台是相当的大的,作为国家背景的运行商旗下的分店物联网集团也是一律。在那么些中项目标水准和数目都以很高的,对友好是很好的精益求精,而且本身本人是瓦伦西亚人,不期待四处奔波,最佳能(CANON)在叁个平静的商号内部一向大力成长就好了。

肆.你何以采取应聘中移物联网有限集团?您愿意中移物联网有限公司能给你带来哪些?(限300字)

中国际缔盟通作为后天3流年营商里面包车型大巴龙头,中移物联网公司作为他旗下的网络集团,既有民有集团规范的优势,也有互连网火速的性状,选用那样的铺面看成第二份工作室理所应当的。
自身个人希望公司能够给本身成长的平台和安静的上进,小编信任本人和中移的实力会愈来愈强。

 

 

 

8-25

  1. 看清check是还是不是选中?假诺选中check成分?
  2. HTTPS加密原理

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

  1. 前者安全学奥迪Q5SA非对称加密,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

首先,并不是说您1打开几个页面就会发出1个session。
所谓session你能够那样敞亮:当您与服务端进行对话时,比如说登六成功后,服务端会为你开壁壹块内部存款和储蓄器区间,用以存放你本次会话的局地内容,比如说用户名之类的。那么就须求一个东西来注脚那一个内部存款和储蓄器区间是您的而不是别人的,这一个事物正是session id(jsessionid只是tomcat中对session id的叫法,在别的容器里面,不肯定正是叫jsessionid了。),而以此内部存储器区间您能够领悟为session。
下一场,服务器会将以此session id发回给你的浏览器,放入你的浏览器的cookies中(这一个cookies是内部存款和储蓄器cookies,跟1般的不雷同,它会趁机浏览器的关门而消逝)。
而后,唯有你浏览器未有关闭,你每向劳动器发请求,服务器就会从您发送过来的cookies中拿出这些session id,然后依据这几个session id到相应的内部存款和储蓄器中取你前边存放的多少。
只是,借使您退出登6了,服务器会清掉属于你的内部存款和储蓄器区域,所以您再登的话,会发出多少个新的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

四.事变节流

5.回调XX(没听懂)

六.落到实处三个浏览器内部标签页间的广播发表用什么样方法

7.废品回收

8.状态码304

玖.文书档案过期时间怎么设置

10.ES6语法

1一.怎么设置二个在PC端与手提式有线电话机端都能够浏览的页面

1二.怎么得以实现自适应布局,媒体询问

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

1四.代码协会方式

一5.怎么学习前端

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

身为非科班出身,感觉任重(英文名:rèn zhòng)道远,努力加油啊,很多看过没用过,面试问的很详细,很多扩充,感觉相比讲究“你用过呢?”,这不啻是面试中出现频率最高的词了,当然还有“没事”。

各位加油吧!!

  1. promise,asyn await,还说了3个es陆的1个异步处理重大字,
    defer关键字,闭包,局部变量进步作用域,页面渲染,页面加载进度,图片懒加载,还有,但今日不记得了,让笔者慢慢切磋,作者再拉长来

 

 

9-4

美图

编程题

1.$.extend

2.DOM操作

3.正则

四.去重和合并

简答

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

 

9-6

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

 

9-7

  1. 投简历,改故事集,笔,网址,技术之瞳
  2. 民用评价:聪明,乐观,皮实,自省(技术之瞳P八)
  3. 面试:比较大的难点能够自身查到,本性化的题材:推荐适合自身的书,论坛等,JS安全性
  4. 微型总括机网络

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

一   网络协议3要素:语义,语法,沟通规则

2   在公钥密码体制中,不精晓的是  (私钥) 。

3   表示层的第二/10效是–关切所传递的音信的构造,语法和语义

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

⑤   关于IP地址

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

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

陆.
求各位数字和:利用43五分之一=>4叁的性状,得到去1个人的数字,不断%十获得每一种人。

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

不起功用。(需求注意行内成分的轮换来分img、input,他们是行内成分,然则足以为其设置宽高,并且margin属性也是对其起成效的,有着类似于Inline-block的一坐一起)

  1. 对内联成分设置padding-top和padding-bottom是或不是会大增它的可观

不会。同上题,要小心行内成分的交替成分,img设置padding-top/bottom是会起效果的。

九.问:借使设置<p>的font-size:
十rem;那么当用户重置或拖拽浏览器窗口时,它的文本会不会碰着震慑?

答:不会。

rem是css3新增的2个针锋相对单位(root
em,根em),那个单位引起了普遍关心。这几个单位与em有怎么着分别呢?不一样在于应用rem为成分设定字体大时辰,依然是周旋大小,但针锋相对的只是HTML根成分。

 

9-11

SMTP :全称是“Simple Mail Transfer
Protocol”,即不难邮件传输协议。它是一组用于从源地址到目标地址传输邮件的正式,通过它来支配邮件的倒车格局。SMTP
协议属于 TCP/IP
协议簇,它协助每台电脑在出殡和埋葬或转发信件时找到下3个指标地。SMTP
服务器便是依照 SMTP 协议的出殡邮件服务器。 

POP3:是Post Office Protocol
三的简称,即邮局协议的第四个版本,它规定怎么将个人总括机连接到Internet的邮件服务器和下载电子邮件的电子协议。它是因特网电子邮件的首先个离线协议正式,POP叁允许用户从服务器上把邮件存款和储蓄到地方主机(即本人的微处理器)上,同时删除保存在邮件服务器上的邮件,而POP三服务器则是遵照POP三商业事务的收取邮件服务器,用来收纳电子邮件的。

博客中牵线,pop三:从服务器下载到本地;SMTP:发送或然转载邮件。

 

  1. java/struts2/spring/ant.maven/devops
  2. 4.      
    总计机互连网动态路由协和式飞机,子网掩码的效果,互联网地址划分,各样地点的效能

 

9-12

一.JS在线编制程序格式

https://segmentfault.com/a/1190000010715910

2. 《总括机网络》第5版 复习笔记

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

 

9-13

1.战火每年来校招的小时都很早,7月底,在宣讲会的头天笔者不难看了java基础(准备的太晚),笔试有取舍题(比较基础)、简答题(较多,涉及java基础,网络TCP/IP,三十二线程等)、一道字符串反转编制程序题,两道智力题(如用两个容器分水的题材,很常见),最终1道主观题,总体来说难点简单,比较基础,只是本身一贯不复习到位,然则依然被通报了一面,也有那个同班被刷了,看来刚早先好多人都尚未过得硬复习,笔者归功于小运。一面有八个面试官,都很好,看自个儿简历上写的是如数家珍C++和java,就问作者java和C++的界别,还有正是问项目,但自己做的java的类型相比较久了,笔者也绝非美貌准备,由此可知面包车型客车不好,就像此照旧被打招呼了二面,说是人事面,三个H奥德赛面4人,差不离就是哪些联系处事,H帕杰罗眼前有一张纸,笔者见状了温馨的大成,笔试和一面包车型大巴战绩,都比较低,后来HLX570跟作者说一面包车型地铁面试官觉得小编Java基础一般,提议小编转测试,让大家测试的面试公告。可是后来也尚未打招呼了,小编的造化到此用完了。不要相信运气,主要靠实力。笔试战表很重点,总而言之要早做准备,要不然只好眼睁睁望着机会以前方消灭。壹初步自笔者并不是很想进烽火,未有当真对照,但新兴意识以相好的实力烽火已经正确了,前面包车型地铁无数集团还比不上烽火,后悔本人并未好好准备,希望大家吸取作者的教训。 收起

面试官的标题:

问java和C++的区别?

答笔者首先反响是java未有指针,当然那不是答案,面试宝典都有,不细说了

问java的费用经历?

答笔者纪念不知情了,没怎么说,本人要完美准备项目。

问写1段代码完成持续和多态

答只写了一而再

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

答未有也要说有,那是很广阔的题,最近常用的是c3p0连接池,本人百度

问java设计情势如故数据库范式?

 

7.之下的哪1种颜色格式支持上百万种颜色,但是不帮衬无损压缩?

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基础(闭包,效能域,es陆,this,达成filter,内部存款和储蓄器泄漏)
  4. css基础(重绘重排,选拔器,伪类,继承,居中,布局)
  5. http基础(2遍握手,代理,缓存机制,method)
  6. 跨域
  7. 前后互相的多寡
  8. 落到实处响应restful api的路由
  9. 欣逢的性质优化和平解决决的题材

 

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

壹上来面试官就让笔者介绍下本身做的连串。笔者介绍通晓后,就从未有过然后了(当时小编以为会深问)。

接下来正是编制程序了。

一.经文的柯里化难题。编写1个函数,完毕add(贰)(三)。

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⊙)嗯,也没给笔者纠错。哎╮(╯▽╰)╭

三.第多个是出口<body>下边包车型地铁多个<a>标签对应的目录。这几个也总括过,可是写的时候有缺点,哎╮(╯▽╰)╭

4.用贰到三行写出2维数组变成1维数组的函数。

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

接下来编制程序就归西了。当中最关键的是楼主没用过牛客网上的JavaScript(node
0.1二.1二)编制程序过,所以全程就一定于是在纸上写代码。会了就不会犯那样多低级错误了。(磕墙……)

此后问了有个别题材。

壹.3列布局怎么落实啊,都有何样方法。

二.flex布局精晓呢?

3.近日在看怎样新技巧?

四.看过怎么博客逛过哪些论坛?

5.怎么学习前端的?

陆.您觉得温馨还有何优点。

 

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

  1. 自作者介绍

  2. 何以接纳前者

  3. 说一下html5 与html4   

  4. html伍 都席卷怎么着,小编关系语义化,然后问 em/strong/i 都怎么用的

  5. canvas 与svg 

  6. requestAnimationFrame 

  7. http 协议的格式

  8. base64 的原理

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

  10. get post 区别

  11. 同源策略 

接下来没了,,1共二四min, 面试官很nice,
第壹遍通电话笔者在宿舍,第二遍作者在电梯,第3回才正式启幕,希望nice的面试让过啊。。。。

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

二、bootstrap 布局,栅格布局 ,怎么处理分化装备上的出入

3、http 304 状态码是什么看头?其余状态码?HTTPS

肆、ajax跨域,有哪些消除办法,举了多少个实例让贯彻跨域,访问子域算不算跨域等等等

五、壹多少个简单的算法题(记不清了)

6、求数组中最大数

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

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

九、es陆 ,异步原因,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的规律。怎么去读取1个script里面包车型地铁多少。
  5. 要是页面发轫载入的时候把ajax请求重返的数目存在localStorage里面,然后每便调用的时候去localStorage里面取数,是或不是可行。
  6. 30四是什么样意思?
  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. Post3个file的时候file放在哪的?
  18. 贰遍握手
  19. tcp/ip/http对应哪一层
    7层模型
  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 COO
    硕士杂文:层叠样式表
  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

其1东西的功利是减弱DOM操作,减少DOM操作的目标是增强浏览器的渲染质量

  1. 5.       Diff算法

陆.数码绑定

7.  组件化开发

 

8.react有哪些用?优点和瑕疵有何样?

喜欢React的人不少,可是喜欢它的原由都不太一样

比较实际的优点:

可见落到实处劳务器端的渲染,便于寻找引擎优化。这点要比Backbone, Angular
壹.x和Ember早期强

能够很好的和现有的代码结合。React只是MVC中的View层,对于别的的某个并不曾硬性供给。意味着很多专营商在增选取Angular全体重构和用React部分重构的时候,选择了React部分重构

因为1切都以component,所以代码尤其模块化,重用代码更易于

学起来格外简单,多少个钟头就足以入门

因为强调只从this.props和this.state生成HTML,写起来bug相比较少

正如高大上的优点,正是大家在大会上会说的长处:

因为用了virtual dom,所以质量很好

因为强调只从this.props和this.state生成HTML,所以万分的functional
programming

缺点:

并不是多少个完好无损的框架,基本都亟需添加ReactRouter和Flux才能写大型应用

 

9-25

一.
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-27. 

1.VPN原理

2.
SSH原理与运用(1):远程登录http://www.ruanyifeng.com/blog/2011/12/ssh\_remote\_login.html

三.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本身是由1层层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