一天积累一点儿之阿里笔试题

励志把阿里的题库弄出来!当然,主要目的还是想知道自己还有哪些知识点的欠缺和不足

1、

(1)这个element的onclick事件,this当然指的是这个element了

(2)window

(3)window  这两种方式都没有把element传给doSomething,所以this默认指向window

2、

 1          Array.prototype.sorting  = function(fn){
 2             var t;
 3             if(!fn){
 4                 fn = function(a,b){
 5                     return a-b;
 6                 }
 7             }
 8             for(var i = 0;i<this.length;i++){
 9                 for(var j=i+1;j<this.length;j++){
10                     if(fn(this[i],this[j])>0){
11                         t = this[j];
12                         this[j] = this[i];
13                         this[i] = t;
14                     }
15                 }
16             }
17         }
18         var arr = [4,85,1,2,37,88,6];
19         arr.sorting();
20         console.log(arr);

最后输出是  1, 2, 4, 6, 37, 85, 88  我觉得没啥好说的,有很多算法,如果不知道sort是干什么的,请百度

3、

a、添加组件的事件监听功能

b、优点:解决了IE中this指向window的问题,可以添加事件监听

   缺点:浏览器兼容性考虑不全面,IE9及以后的版本都添加了addEventListener方法,通过document.all  if  else if后的语句都有可能执行

      另外第六行addListener用的是全局变量,正确的应该加var

c、apply是改变了this的指向,让this指向传入的el对象(至于apply和call的区别,请看我的另外一篇博客http://www.cnblogs.com/jianjianwoshi/p/4369869.html

4、

      function toRGB(str){
            var reg = /^#[0-9a-zA-Z]{3}$/;
            if(str == "invalid"){
                return "invalid";
            }else if(reg.test(str)){
                return str;
            }else{
                var arr = new Array();
                for(var i=1;i<str.length;i+=2){
                    var gg = str.substr(i,2);
                    var cc = parseInt(gg,16);
                    arr.push(cc);
                }
                return "rgb("+arr[0]+","+arr[1]+","+arr[2]+")"
            }
        }
        alert(toRGB("#0ff"));

写的很简单,判断条件也不够完美,有时间再优化一下

5、

 1         var Obj= function(msg){
 2             this.msg = msg;
 3             that = this;
 4             this.shout = function(){
 5                 alert(this.msg);
 6             }
 7             this.waitandshout = function(){
 8                 setTimeout("that.shout()",5000);
 9             }
10         }
11         var t = new Obj();
12         t.waitandshout();

说不能实现的好好看看第三行是关键

6、

<div>
            <a href="" title="商品的描述,简介">
                <img src="" title=" 联想IdeaPad U130 " alt="联想IdeaPad U130产品图"/>
                <span>联想IdeaPad&nbsp;U130</span>
                <span>红色至尊&nbsp;高性价比</span>
                <strong>¥8888.00</strong>
            </a>
        </div>

7、

1 var obj = document.body;
2 var odiv = document.createElement("div");
3 odiv.setAttribute("id","example");
4 obj.appendChild(odiv);
5 var op = document.createElement("p");
6 op.setAttribute("class","slogan");
7 odiv.appendChild(op);
8 console.log(obj);

这个简单的不不行不行了~~

8、

好吧我只会写个简单的正则,复杂的写不出来,这是重点,后面要花点时间学习

这里借用网友的答案

var reg = /^[a-zA-Z0-9_-][email protected][a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;

9、

p{

  *color:#000000;//IE7

  _color:#ff0000;//IE6

  color:#00ff00;

}

10、

          var text = document.getElementsByTagName("input")[0];
            text.addEventListener("focus",ofocus,false);
            text.addEventListener("blur",oblur,false);
            function ofocus(){
                if(this.value=="请输入内容"){
                    this.value = "";
                    text.style.color = "#000";
                }
            }
            function oblur(){
                if(this.value ==""){
                    this.value = "请输入内容";
                    text.style.color = "#ccc";
                }
            }

一开始默认颜色为灰色

11、

12、

            Array.prototype.repeat = function(){
                var tt = new Array();
                for(var i = 0;i<this.length;i++){
                    if(tt.indexOf(this[i]) == -1){
                        tt.push(this[i]);
                    }
                }
                return tt;
            }
            var arr = [0,0,1,1,2,8,8,2,45,656,4,45,2,3,3];
            alert(arr.repeat());

我感觉这是最简单的想法了,当然还有很多种写法

13、

如果是不知道css3弹性布局的话赶快去百度flex

        *{
            margin:0px;
            padding:0px;
        }
        .div{
            display:-moz-box;
            display:-webkit-box;
            width:400px;
            height: 40px;
            background-color: green;
        }
        .bc{
            background-color: white;
            margin: 10px;
        }
        .wd{
            width:200px;
        }
时间: 2024-10-26 00:18:39

一天积累一点儿之阿里笔试题的相关文章

阿里笔试题(2015)持续更新中

第一次做阿里笔试题,除了ACM题之外从来没有做过校招网络题呀,完全是裸考,总体感觉吧,对于我来说,感觉时间不够用,不是题不会,感觉时间紧,大脑很混乱,总结这一次的笔试题 废话不多说,直接上题和答案 平均每个人逗留时间为20分钟,那么开场前20分钟一共来了400人,且有20个人逗留时间已经到,但他们不一定出去,注意是平均时间,所有博物馆最少应该容纳500人 双向循环列表,从任何一个元素开始可以遍历全部元素 先和后面的元素相连 s->next=p->next; p->next->pre

阿里笔试题记录(Android客户端部分)

阿里笔试题记录(Android客户端部分) 选择题 结果应该是选择 80,8 思路: - 指针的值都是一个个地址,而地址是用无符号整型值来表示的,也就是unsigned int.因此一个指针类型变量的大小就是unsigned int类型的大小. - 64位系统,一个地址占用的二进制位数为64(8字节),32位系统,地址的二进制位数32(4字节).参考64位操作系统的指针不都是64位吗 32位cpu和64位cpu,这个位数指的是数据字长,而不是地址字长.两者没有必然的数值上的联系.处理器字长是指处

阿里笔试题-派生类构造函数 创建顺序

派生类 与基类的关系: (1)创建构造函数的顺序 :基类构造函数(注意此处基类的成员不能初始化) ==>派生类成员初始化 ==>派生类构造函数 (2)派生类的构造函数 中 基类的构造函数默认在第一条,如果不写super(),则默认在第一条,注意位置不能颠倒 (3)派生类可以继承全部的基类的构造函数 阿里笔试题 举个栗子: 1 package com.test; 2 3 public class DispatchTest { 4 5 public static void main(String[

阿里笔试题之Android网络优化

记得这是阿里校招笔试的一道问答题 答案是小伙伴们之后一起拼出来的,不乏有些飘忽的东西,需要的朋友可以做个参考(具体细节可以自行百度),欢迎提出更好的建议! 在客户端方面: 1.减少网络请求的数量,能够合并的网络请求尽量合并,尽量在一次查询中完成多个零散数据的查询 2.为网络数据做本地缓存处理 3.设置超时时间,数据压缩传送,比如从服务器端获取列表数据,如果可以最好是能将服务器端的流压缩一下,接收压缩流,这样速度会快点,而且省流量. 3.多线程处理,不要死等网络操作的结果,把耗时工作及计算放在子线

惨挂阿里笔试题

昨天阿里笔试,惨挂到一算法题,现分享此题,集网友智慧,看如何解答此题. 请大神们不吝赐教哦! 版权声明:本文为博主原创文章,未经博主允许不得转载.

阿里笔试题——算阶乘的末尾有几个零

用十进制计算30!(30的阶乘),将结果转换成3进制进行表示的话,该进制下的结果末尾会有____个0. 答案选14 #include<iostream> using namespace std; #define LINT int LINT count_number(LINT n) { LINT a=n; LINT re=0; while(1) { if(a==0) break; LINT b=a; a--; while((b!=0)&&(b%3==0)) { re++; b=b

阿里笔试题:求两个子序列的最大连续子序列

原题例如以下: 给定一个query和一个text,均由小写字母组成.要求在text中找出以相同的顺序连续出如今query中的最长连续字母序列的长度.比如.query为 "acbac",text为"acaccbabb",那么text中的"cba"为最长的连续出如今query中的字母序列,因此.返回结果应该为其长度3.请注意程序效率. 解题方法一: 和字符串匹配一样(http://blog.csdn.net/sinat_24520925/articl

接下班概率问题——阿里笔试题

牛客某程序猿小杨每天接老婆下班回家.小杨在6点准时下班从公司开车出发,由于路上可能存在的堵车情况,小杨到老婆公司门口的时间点均匀的分布在6点20到6点30之间.老婆根据小杨的下班时间做了估计,到公司门口的时间点均匀的分布在6点25到6点30之间,如果小杨比老婆晚到公司门口将会挨骂,那么小杨被骂的概率是____. 1/4 1/3 1/2 2/3 3/4 以上都不对 这个题目是概率分布问题,解决方法有两种. 解法1: 可以进行分析,比如小杨在6点20到6点25之间到的概率为0.5,那么老婆这个时候肯

阿里笔试题,乱序序列的保序输出。

按自己的思想简单写了一下,多多交流. #include "stdafx.h" int insertInOrder(int *a,int num,int len){//这个方法可以改进很多,插入数据,再进行排序. int position; if (a[0]==0) { a[0] = num; position = 1; } for (int i = 0; i < len-1;i++) { if (num>a[i] && num<a[i + 1]) {