你的位置:首页 > Java教程

[Java教程]【面试季之一】From——CNKI


最近又成了“FreeTecher”,这几天整理完简历,又开始奔波在北京的大街小巷。

跑也不能白跑是不是,So顺便把各个公司的面试题拿出来做一下共享。

答案有自己写的,有网上找的,如有不正确的,请指出,感激不尽~~~

如贵公司的面试题不可以网络公开,请留言,我会尽可能快的将文章下架,Sorry~~~

 【你也晓得啦~找工作阶段杂事比较多,所以下面的题没有完全做完,只是先把题目列出来然后一点点完善啦~~~亲要是着急用,自己去百度谷歌一下哈~~~】

一:写出JS中基本数据类型

  ECMAScript中有5种简单数据类型(也称为基本数据类型):Undefined,Null,Boolean,Number和String。还有一种复杂数据类型——Object,Object本质上是由一组无序的名值对组成的。【JavaScript高级程序设计第三版第三章】

二:将类数组转化为真正的数组,我们一般怎么做,用代码写出

  http://segmentfault.com/a/1190000000415572      【为了节约时间。。。嘿嘿】

三:var a=[1,2,3,4],i=0;

  a[i++]=a[i++]*2;

  console.log(a);

  输出结果是什么?

  a=[4,2,3,4]

  【这道题我家先生看到以后很感兴趣,立即和我打赌了一下,然后两个人讨论了很久。。。】

四:var a='1'+2-'1';

  console.log(a);

  执行结果是什么?

  a=11;

  【这个主要考察隐式转换】

五:b();a();

  var a=function(){console.log("aaa")};

  function b(){console.log("bbb")};

  上述代码执行会出现什么结果,请简单解释。

  b();==>bbb;

  a();==>报错,因为a在运行的时候尚未定义

  【这部分主要是在考察函数预解释这方面的知识】

六:请列出

  http://blog.163.com/yang_jianli/blog/static/161990006201042421844222/

七:var name="global";

  var obj={

    name:"obj",

    dose:function(){

      this.name="dose";

      return function(){return this.name}

    }

  };

  var result=obj.dose().call(this);

  result的值是什么?

  result="global";

  【这里考察的主要是call的作用:改变this指向】

八:用JS定义一个animal类,然后实例化它(属性、方法各一个即可);

九:简单介绍Css盒子模型;

十:请说明你用到了谷歌哪些调试工具或是API;

十一:以下函数的作用是什么?空白区域应该填写什么?

  //定义

  (function(window){

    function fn(str){ this.str=str ;};

    fn.prototype.format=function(){

      var arg=___1___;

      return this.str.replace(___2__,function(a,b){

         return arg[b] || "";

      });

    };

    window.fn=fn;

  })(window);

  //使用

  (function(){

    var t=new fn("<p><a href="{0}">{1}</a><span>{2}</span></p>");

    console.log(t.format("http://www.cnki.net","Cnki","Welcome"));

  })();

十二:编写一个函数将列表子元素顺序反转;

  <ul>

    <li>1</li>

    <li>2</li>

    <li>3</li>

    <li>4</li>

  </ul>

十三:如何判断一个对象是否为函数;

十四:完成一个函数,接受数组作为参数,数组元素为整数或数组,数组元素包含整数或数组,函数返回扁平化后的数组;

  如:[1,[2,[[3,4],5],6]]==>[1,2,3,4,5,6];

十五:下面这段代码想要循环延时输出结果0,1,2,3,4,请问输出结果是否正确?如果不正确请说明为什么,并修改循环内的代码使其输出正确的结果。

  for(var i=0;i<5;++i){

    setTimeout(function(){console.log(i+" ")},100);

  }

十六:有一个大数组,var a=["1","2","3"... ...];a的长度是100,内容填充随机整数的字符串,请先构造此函数a,然后设计一个算法将其内容去重;

十七:一个页面从输入URL,到页面加载完的过程中都发生了什么事情?越详细越好。