阿里巴巴实习生面试题

| 收藏本文 下载本文 作者:万岁少女

下面是小编为大家整理的阿里巴巴实习生面试题(共含12篇),供大家参考借鉴,希望可以帮助到有需要的朋友。同时,但愿您也能像本文投稿人“万岁少女”一样,积极向本站投稿分享好文章。

阿里巴巴实习生面试题

篇1:阿里巴巴实习生面试题

研发工程师、算法工程师、测试开发工程师、安全工程师、客户端开发工程师、前端开发工程师、用户体验研究专员、视觉设计师、交互设计师、数据分析师、产品经理

面向学生:及以后毕业的在校生

实习时间:可灵活安排实习时间,在9月之前实习满1个月即可。

网申时间:即日起至203月24日

笔试时间:全国统一3月29日

关于转正:实习的同学可以在年秋季校招启动之前,参加内部面试,通过后即可提前拿到正式校招Offer。

通过实习生面试,但不能实习的同学,也可以在秋季校招中直接进入终面。

实习补助:我们会为实习生提供具有竞争力的实习薪资、午餐和晚餐补贴、商业保险并报销入职交通费,还为异地同学(户籍、学校所在地不在实习工作地)提供一周的酒店住宿补贴,并按月发放住房补贴。

1、设栈S初始状态为空。元素a,b,c,d,e,f依次通过栈S,若出栈的顺序为c,f,e,d,b,a,则栈S的容量至少应该为______ 。

3

4

5

6

2、10个相同的糖果,分给三个人,每个人至少要得一个。有 种不同分法。

33

34

35

36

3、小数值1.5625的二进制表示是____。

101.1001

0.001

101.111

1.1001

4、某二叉树的先序遍历是12453,中序遍历是42513,那么其后续遍历是______。

45231

42351

12345

54321

5、主机甲和主机乙间已建立一个TCP连接,主机甲向主机乙发送了两个连续的TCP段,分别包含300字节和500字节的有效载荷,第一个段的序列号为200,主机乙正确接收到两个段后,发送给主机甲的确认序列号是 。

500

700

800

1000

6、在N个乱序数字中查找第k大的数字,时间复杂度可以减小至 。

O(N*logN)

O(N)

O(1)

O(N^2)

7、平均速度最快的排序算法是______。

Shell排序

快速排序

冒泡排序

插入排序

8、以下指令集架构属于复杂指令集架构的是____。

ARM

MIPS

SPARC

以上皆不是

9、有两个N*N的矩阵A和B,想要在PC上按矩阵乘法基本算法编程实现计算A*B。假设N较大,本机内存也很大,可以存下A、B和结果矩阵。那么,为了计算速度,A和B在内存中应该如何存储(按行存指先存储第一行,再第二行,直到最后一行;按列存指先存储第一列,再第二列,直到最后一列)

A按行存,B按行存。

A按行存,B按列存。

A按列存,B按行存。

A按列存,B按列存。

10、设一棵二叉树中有3个叶子节点,有8个度为1的节点,则该二叉树中总的节点数为______。

12

13

14

15

11、IP数据报头采用______字节序,在此字节序下从低地址到高地址0×1234的表示形式为______。

big_endian, 0×12 0×34 0 0

little_endian,0×34 0×12 0 0

big_endian, 0 0 0×12 0×34

little_endian,0 0 0×34 0×12

12、下列叙述中正确的是____。

循环队列有队头和队尾两个指针,因此,循环队列是非线性结构

在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况

在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况

循环队列中元素的个数是由队头指针和队尾指针共同决定

13、将一个从大到小的数组,用以下排序方法排序成从小到大的,______最快。

插入排序

冒泡排序

快速排序

堆排序

14、在一个元素个数为N的数组里,找到升序排在N/5位置的元素的最优算法时间复杂度是______。

O(n)

O(n log n)

O(n(log n)2)

O(n 3/2)

15、 已有变量定义和函数调用语句;编程-代码

int a=25;

print_value(&a);

则下面函数的正确输出结果是______。

void print_value(int* x)

{

printf(“%x ”,++*x);

}

25

26

19

1a

16、在二进制数据中,小数点向右移一位,则数据______。

除以10

除以2

乘以2

乘以10

17、设集合A={1,2,3},A上的关系R={(1,1),(2,2),(2,3),(3,2),(3,3)},则R不具备 。

自反性

传递性

对称性

反对称性

18、下列叙述中正确的是 。

循环队列有队头和队尾两个指针,因此,循环队列是非线性结构

在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况

在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况

循环队列中元素的个数是由队头指针和队尾指针共同决定

19、假定x=500,求下面函数的返回值______ 。

int fun(int x)

{

int countx = 0;

while (x)

{

countx++;

x = x & (x 1);

}

return countx;

2

3

5

6

20、有一台带一个千兆网卡的服务器A,会把接收到的消息转发给另外两台带一个千兆网卡的服务器B和C,B和C上面的一个服务进程处理一条10K字节的消息需要2毫秒。如果在B和C上面各跑80个服务进程,在不考虑CPU负载和进程切换、内存占用、传输损耗和交互损耗的情况下,B和C服务器每秒一共大约可以处理______条10K字节的消息。

50000

60000

70000

80000

21、以下措施中,有可能改进分布式系统读写(IO)性能的有____。

网络从千兆网升级为万兆网

优化调度系统,尽量做到任务与数据相近(Locality)

数据预取机制

实现异步读写机制

22、无锁化编程有哪些常见方法?______ 。

针对计数器,可以使用原子加

只有一个生产者和一个消费者,那么就可以做到免锁访问环形缓冲区(Ring Buffer)

RCU(Read-Copy-Update),新旧副本切换机制,对于旧副本可以采用延迟释放的做法

CAS(Compare-and-Swap),如无锁栈,无锁队列等待

23、程序

struct T {

char a;

int *d;

int b;

int c:16;

double e;

};

T *p;

在64位系统上以下描述正确的是 。

sizeof(p) == 8

sizeof(*p) == 32

sizeof(p->a) == 1

sizeof(p->e) == 4

24、下面所述步骤中,是创建进程所必须的步骤是_____。

由调度程序为进程分配CPU

建立一个进程控制块

为进程分配内存

为进程分配文件描述符

25、有一种用左右值表示树形结构的存储格式,其中左右值有一些相当有用的场景,但是每个节点的左右值需要遍历树形结构计算出来。一个示例:

N[1,12]

|__N[2,7]

| |__N[3,4]

| |__N[5,6]

|__N[8,11]

|__N[9,10]

请完成遍历算法给节点赋左右值。

typedef struct node_t {

int left;

int right;

int n_children;

1 children;

} NODE;

int visit(NODE * node, int value) {

node->left = value;

int i = 0;

for(i=0; in_children; i++) {

2

}

3

return value;

}

int initLR(NODE* root) {

return visit(root, 1);

}

26、我们需要在淘宝的商品中提取一批优质商品(有特色、质量好、服务好等),比如需要提取100万件,准确率要求是95%。我们有n个不同的方法可以提取这些商品,但每个方法在保持准确率满足要求的情况下都不能做到提取完整的100万件商品。因此可以把这n个方法得到的满足要求的商品集按如下方法合并起来:如果一个商品被k个方法选为优质商品,则将它的分数设为k;按照k从大到小排序选取前100万件。但实际中发现这样选出的100万件商品不符合精度要求,请解释可能的原因。还可以向哪个方向努力?

27、有个学校的15个女生一直3个一群上学。请问该如何安排才能使这些女生每周7天每天都和两个不同的同伴结伴同行呢?例如:用A到O来标识这些女孩,7天A正好和B到O这14个女孩各同行一次。而B到O每个人和都和其他14个女孩各同行一次。

28、长度为100的环形双向链表,A指针顺时针方向每次走3步,B指针逆时针方向每次走5步,每次走完判断是否相遇,初始状态B在A逆时针方向相距20,走100次,AB指针能相遇几次?

29、某招聘笔试共有120人参加,考试有6道题。1-6道分别有86人,88人,92人,76人,72人和70人答对,如果答对3道或3道以上通过笔试,问至少有多少人通过?

30、Wait和sleep()的区别

篇2:阿里巴巴面试题

阿里巴巴面试题

阿里巴巴面试题【1】

题目的背景如下:

一晚,李先生在家独自饮酒。突然一个杀手从窗户跳了进来,对李先生说:“李先生!我受人之托,要你小命”

李先生若无其事地说:“是谁找你杀我?”

“这你不必知道”

“好!我出3倍的价钱买我的命如何?”

杀手一听,立刻露出了贪婪的目光。

李先生见有转机,可以缓和气氛,便倒了半杯酒,说:“你也喝杯酒吧,喝完我就给你拿钱”。杀手拿起酒杯一饮而尽。

李先生接过杀手的酒杯,走到保险柜旁,打开了保险柜,取出钱袋放在桌上,杀手刚伸手去拿,就听“哐”一声,保险柜的门关上了,接着他说:“现在你还敢杀我么?”

杀手看了看保险柜和李先生的手,又看了看桌子,落荒而逃。

试问:李先生做了什么让杀手连钱都不拿就立即逃走?

答案在下方:

答案:把有杀手唾液和指纹的酒杯放到了保险柜里面,杀手当然就不敢杀人了.

阿里巴巴面试题集合【2】

一、String,StringBuffer, StringBuilder 的区别是什么?String为什么是不可变的?

答: 1、String是字符串常量,StringBuffer和StringBuilder都是字符串变量。后两者的字符内容可变,而前者创建后内容不可变。

2、String不可变是因为在JDK中String类被声明为一个final类。

3、StringBuffer是线程安全的,而StringBuilder是非线程安全的。

ps:线程安全会带来额外的系统开销,所以StringBuilder的效率比StringBuffer高。如果对系统中的线程是否安全很掌握,可用StringBuffer,在线程不安全处加上关键字Synchronize。

二、Vector,ArrayList, LinkedList的区别是什么?

答: 1、Vector、ArrayList都是以类似数组的形式存储在内存中,LinkedList则以链表的形式进行存储。

2、List中的元素有序、允许有重复的元素,Set中的元素无序、不允许有重复元素。

3、Vector线程同步,ArrayList、LinkedList线程不同步。

4、LinkedList适合指定位置插入、删除操作,不适合查找;ArrayList、Vector适合查找,不适合指定位置的插入、删除操作。

5、ArrayList在元素填满容器时会自动扩充容器大小的50%,而Vector则是100%,因此ArrayList更节省空间。

三、HashTable, HashMap,TreeMap区别?

答: 1、HashTable线程同步,HashMap非线程同步。

2、HashTable不允许<键,值>有空值,HashMap允许<键,值>有空值。

3、HashTable使用Enumeration,HashMap使用Iterator。

4、HashTable中hash数组的默认大小是11,增加方式的old*2+1,HashMap中hash数组的默认大小是16,增长方式一定是2的`指数倍。

5、TreeMap能够把它保存的记录根据键排序,默认是按升序排序。

四、Tomcat,Apache,JBoss的区别?

答: 1、Apache是Http服务器,Tomcat是web服务器,JBoss是应用服务器。

2、Apache解析静态的html文件;Tomcat可解析jsp动态页面、也可充当servlet容器。

五、GET,POST区别?

答: 基础知识:Http的请求格式如下。

主要包含三个信息:1、请求的类型(GET或POST),2、要访问的资源(如resimga.jif),3、Http版本(http/1.1)

用来说明服务器要使用的附加信息

这是Http的规定,必须空一行

请求的内容数据

区别:

1、Get是从服务器端获取数据,Post则是向服务器端发送数据。

2、在客户端,Get方式通过URL提交数据,在URL地址栏可以看到请求消息,该消息被编码过;Post数据则是放在Html header内提交。

3、对于Get方式,服务器端用Request.QueryString获取变量的值;对用Post方式,服务器端用Request.Form获取提交的数据值。

4、Get方式提交的数据最多1024字节,而Post则没有限制。

5、Get方式提交的参数及参数值会在地址栏显示,不安全,而Post不会,比较安全。

篇3:阿里巴巴 java 面试题

1. 下列运算符中优先级别最高的是?

A:&

B:&&

C:!=

D:?:

2: 若用数组S[0…n]作为两个栈S1和S2的存储结构,对任何一个栈只有当S全满时才不能做入栈操作。为这两个栈分配空间的最佳方案是

A:S1的栈底位置为0,S2的栈底位置为n+1

B:S1的栈底位置为0,S2的栈底位置为n/2

C:S1的栈底位置为1,S2的栈底位置为n/2

3. 经过强制类型转换以后,变量a,b的分别为

Short a =128;byte b =(byte)a;

A:128 127

B:128 -128

C:128 128

D:编译错误

4. Java 的Daemon线程,setDaemon设置必须要:

A:在Start之前

B:在Start之后

C:前后都可以

5. 下列不属于Java语言鲁棒性特点的是

A:java能程序在编译和运行时的错误

B:Java能运行虚拟机实现跨平台

C:Java自己操纵内存减少了内存出错的可能性

D:Java还实现了真数组,避免了覆盖数据类型的可能

6. 有以下一个对象:

public class DataObject implements Serializable{

private static int i=0;

private String word=””;

public void setWord(String word){

this.word=word;

}

public void set I(int i){

DataObject.i =I;

}

}

创建一个如下方式的

DataObject:DataObject object = new DataObject;

Object.setWord(“123”);object.setI(2);

将此对象序列化为文件,并在另外一个JVM中读取文件,进行反序列化,请问此时读出的DataObject对象中的word和i的值分别为:

A:”” ,0

B:”” ,2

C:”123” ,2

D:”123” ,0

7. 基于Servlet API如何实现转向时不在地址栏中显示转向后的地址?

A:redirect()

B:sendRedirect()

C:forward()

D:transform()

8. 假设有以下代码

String s=”hello”;

String t=”hello”;

Char c[] ={‘h’,’e’,’l’,’l’,o’’};

下列选项中返回false的语句是:

A:s.equals(t);

B:t.equals(c);

C:s==t;

D:t.equals(new String(“hello”));

9. 下面的代码运行的结果是:

class B extends Object{

static{

System.out.println(“Load B”);

}

public B(){

System.out.println(“Create B”);

}

}

class A extends B{

static{

System.out.println(“Load A”);

}

public A(){

System.out.println(“Create A”);

}

}

public class Testclass{

public static void main(String[] args) {

new A();

}

}

A:Load B à Create B à Load A à Create A

B:Load Bà Load A àCreate B àCreate A

C:Load B à Create B à Create A à Load A

D:Create B àCreate A àLoad B àLoad A

[阿里巴巴 java 面试题]

篇4:阿里巴巴电话面试题

▶题目的背景如下:

一晚,李先生在家独自饮酒。突然一个杀手从窗户跳了进来,对李先生说:“李先生!我受人之托,要你小命”

李先生若无其事地说:“是谁找你杀我?”

“这你不必知道”

“好!我出3倍的价钱买我的命如何?”

杀手一听,立刻露出了贪婪的目光。

李先生见有转机,可以缓和气氛,便倒了半杯酒,说:“你也喝杯酒吧,喝完我就给你拿钱”。杀手拿起酒杯一饮而尽。

李先生接过杀手的酒杯,走到保险柜旁,打开了保险柜,取出钱袋放在桌上,杀手刚伸手去拿,就听“哐”一声,保险柜的门关上了,接着他说:“现在你还敢杀我么?”

杀手看了看保险柜和李先生的手,又看了看桌子,落荒而逃。

试问:李先生做了什么让杀手连钱都不拿就立即逃走?

答案在下方:

答案:把有杀手唾液和指纹的酒杯放到了保险柜里面,杀手当然就不敢杀人了.

篇5:阿里巴巴电话面试题

1.hashmap的内部实现机制,hash是怎样实现的,什么时候rehash

2.java的内存管理

3.分布式缓存的内存管理,如何管理和释放不断膨胀的session,memcache是否熟悉

4.oralce的底层管理(怎样让查询快,插入慢)

5.java底层是怎样对文件操作的

6.研究了哪些框架的源码

7.并发问题,锁,怎么处理死锁,脏数据处理

8.性能问题

9.equals和hashcode这些方法怎么使用的

10.java的NIO

阿里巴巴面试题集合【3】

1.先从项目模块入手,详细问项目模块是怎么实现的,遇到的问题怎么解决(一定要说自己做过的,真实的情况)

2.sql语句优化怎么做的',建索引的时候要考虑什么

3.spring ioc你的理解,ioc容器启动的过程是什么样的,什么是ioc,aop 你个人的理解是什么

4.jms 你个人的理解,就是消息接收完怎么处理,介质处理(为什么重启mq就能恢复)

解答:setting.iteye.com/blog/1097767

5.sychronized 机制 加了static 方法的同步异同,A 调用 B,A执行完了,B没执行完,怎么解决这个同步问题

6.servlet 默认是线程安全的吗,为什么不是线程安全的

解答:不是 :url:westlifesz.iteye.com/blog/49511

jsjxqjy.iteye.com/blog/1563249

developer.51cto.com/art/07/133827.htm

7.spring里面的action 默认是单列的,怎么配置成多列?

socpe =propty ?

8.socket 是用的什么协议,tcp协议连接(握手)的过程是什么样的,socket使用要注意哪些问题

解答:tcp协议,

9.数据库连接池设置几个连接,是怎么处理的,说说你的理解

10.自定义异常要怎么考虑呢,checked的异常跟 unchecked 的异常的区别

11.线程池是怎么配置的,怎么用的,要注意哪些,说下个人的理解

12.tomact 里session共享是怎么做到的,

解答:zhli986-yahoo-cn.iteye.com/blog/1344694

13.服务器集群有搭建过吗

解答:www.iteye.com/topic/1119823

阿里B2B北京专场java开发面试题(.10.29)

yueyemaitian.iteye.com/blog/1387901

篇6:阿里巴巴面试题答案

年前的阿里巴巴集团培训生秋季招聘中,时任人力资源副总裁的蒋芳女士出了这样一道测试题,难倒了前来应聘的绝大多数求职者们。

题目的背景如下:

一晚,李先生在家独自饮酒。突然一个杀手从窗户跳了进来,对李先生说: 李先生!我受人之托,要你小命

李先生若无其事地说: 是谁找你杀我?

这你不必知道

杀手一听,立刻露出了贪婪的目光。

李先生见有转机,可以缓和气氛,便倒了半杯酒,说: 你也喝杯酒吧,喝完我就给你拿钱 。杀手拿起酒杯一饮而尽。

李先生接#from 面试常见问题--阿里巴巴面试题答案(3篇)来自学优网www.gkstk.com/ end#过杀手的酒杯,走到保险柜旁,打开了保险柜,取出钱袋放在桌上,杀手刚伸手去拿,就听 哐 一声,保险柜的.门关上了,接着他说: 现在你还敢杀我么?

杀手看了看保险柜和李先生的手,又看了看桌子,落荒而逃。

试问:李先生做了什么让杀手连钱都不拿就立即逃走?

答案在下方:

答案:把有杀手唾液和指纹的酒杯放到了保险柜里面,杀手当然就不敢杀人了.

篇7:阿里巴巴前端面试题

面试官个子很高的样子,有点零星白头发,器宇不凡,一看就是个级别很高。

进来问好,然后让我坐下面试官说:我们是1688技术部的面试,现在就开始吧。

01. 介绍一下你技术方面

刚开始有点紧张,说的有点断断续续,中间还有HR MM进来,另外一个mm进来给面试官端水

02. 性能优化方面

我理解为代码层面的

我:

一是:HTML层次结构不要太深,层次结构深会xx…

二是:防止内存泄露,DOM和javascript是两种东西,特别在IE等浏览器,javascript操作DOM效率低,容易造成内存泄露,在不使用的时候最好设为null

三是:写类的时候用prototype,不要动态this.xx = funciton{}, 这样不能资源复用

面试官:还有吗

我疑问:哪方面的优化

面试官:站点性能优化

我豁然,说:哦,缓存啊,代码本地化

面试官疑惑:本地缓存?如何?

我:Expires,Etag等

面试官:还有呢

我:如果有条件使用cdn,还有cookie隔离

面试官疑问:隔离?

我:就是防止静态资源发送cookie,通过配置独立域名的,另外独立域名的好处还有多线程下载,因为传统浏览器限制了并发数2,是一个域名限制2,如果多一个域名可以多几个并发

面试官:那么通常说脚本为什么要放头和放尾呢

我:我知道一般放尾是为了不影响HTML的解析,另外放尾处可以不用DOM ready,直接可以document.getElementById等,至于放在头一般是变量定义吧,还有可能是受base得影响,放在头部一般是css文件,防止裸奔

03. 字体定义有哪俩种方式

我理解为字体定义font-face

我:用font-face引入字体文件,有俩种?

面试官:是字体大小

我:哦,有俩种单位,一个是绝对值,类似于px,一个是相对值em之类的

面试官追问:那em和px有什么关系

我:如果父元素定义字体大小16px,那么子元素定义1em,大小就是16px

追问:em默认值是多少

我:不太清楚,跟浏览器设置有关吧

04. 弹性布局和响应式及重构

我:通过media-query,让不同浏览器展现不同布局

面试官:还有吗?

(我有点卡了,这方面确实没怎么研究)

继续说:每个组件在不同屏幕上显示不同样子吧,比如导航菜单在宽屏下显示一通栏,在手机上显示一个按钮

(其实他想听到我对弹性布局、流式布局的解释,用相对单位、max-width来控制等)

面试官:有一篇文章中说99%的网站都需要被重构,这个文章你有看过吗?

我:没有,听过

面试官:为什么这么说?

我:主要是政府等网站,大量的使用了table等标签,不规范,不过这个地方成本很高。

(这个问题没回答好,有点答非所问,不知道当时怎么想的,应该从规范、趋势、移动端方面去回答这个问题)

05.你知道什么叫优雅降级和渐进增强

我:我知道有两种,至于如何和这两个词对上不知道,一种是类似于border-radius,能显示圆角更好看,不能显示就显示方形,用户也可以接受;另一种是比如我要一个长连接,在高端浏览器上使用websocket,不能使用的用iframe流或者ajax,这个已经有socket.io封装了,算是渐进增强吧

06.HTML5主要增强了什么

我:主要增加了语义化话标签

面试官:哪些标签

我:header, footer, article, nav

面试官:语义化标签有什么用

我:语义化标签主要是利于SEO,还有增强阅读性,增强可维护性,一看header就是是头部,一看footer就知道是尾部,一看nav就知道是菜单

面试官:HTML5其他方面呢

我:增加了很多API,当然我没有都使用过,API开发出来是给我们用的,不是为了让我们去记忆的

07. 你平时用哪些浏览器

我:firefox,safari,chrome啊,IE用的`少

面试官:开发主要用哪个

我:firefox

面试官:装了哪些插件

我:firebug,firephp,至于其他的Yslow,之前装过,我们项目中用不到,所以就没用了,主要还是用firebug

08. 有什么需要补充的么

我:最近在研究Node,感觉Node.js挺火的,之前看了一本书,一直没时间实践,因为我们是弄互联网软件的,不像运营性质的,活总是做不完,打算以后抽时间出来把node和html5新技术用上,

面试官追问:Node.js主要解决了什么问题

我:高并发,异步编程,异步编程有好处也有不好处,比如弄的代码层次很深,大量的callback

09. 有什么需要交流的么

我:你们新技术用的多吗

面试官:多,非常多,主要在移动端上面

我:我还没怎么接触移动端

10. 你会Flash么

我:UI不会,前面说过了,as可以写,虽然不像javascript那么熟,他们都是ES规范的,我只要知道提供给我的API,能写东西的

中间HR MM针对我简历问了一些问题,工资啊,职位啊,到岗时间啊等

11.最后,还有什么问题需要问我的么

我笑说:前面都问了,没什么要问的了,呵呵

(我只准备了一个问用来回答9了)

然后HR MM说:我们先出去等一会。

等了大概10分钟,HR走过来跟我说,你的面试就结束了,5天后电话通知你。

第一部分:用CSS实现布局

让我们一起来做一个页面

首先,我们需要一个布局。

请使用CSS控制3个div,实现如下图的布局

第二部分:用javascript优化布局

由于我们的用户群喜欢放大看页面

于是我们给上一题的布局做一次优化。

当鼠标略过某个区块的时候,该区块会放大25%,

并且其他的区块仍然固定不动。

提示:

也许,我们其他的布局也会用到这个放大的效果哦。

可以使用任何开源代码,包括曾经你自己写的。

关键字:

javascript、封装、复用

第三部分:处理紧急情况

好了,我们的页面完成了。

于是我们将页面发布上网。

突然,晴天霹雳,页面无法访问了,这时候,你会怎么做?

篇8:阿里巴巴面试题答案

提示:

也许,我们其他的布局也会用到这个放大的效果哦。

可以使用任何开源代码,包括曾经你自己写的。

关键字:javascript、封装、复用

CSS Code复制内容到剪贴板

body{ margin:0; padding:0}

div{background:#CCCCCC; position:absolute}

#first{width:100px; height:150px}

#second{top:160px;width:100px;height:150px}

#third{ width:200px; height:310px; left:110px}

JavaScript Code复制内容到剪贴板

function zoom(id,x,y){ // 设置缩放函数参数:容器id、横向缩放倍数、纵向缩放倍数(等比例缩放时也可以设定一个参数)

var obj=document.getElementById(id); // 获取元素对象值

var dW=obj.clientWidth; // 获取元素宽度

var dH=obj.clientHeight; // 获取元素高度

//var oTop=obj.offsetTop;

//var oLeft=obj.offsetLeft;

obj.onmouseover=function(){ // 鼠标移入

this.style.width=dW*x+“px”; // 横向缩放

this.style.height=dH*y+“px”; // 纵向缩放

this.style.backgroundColor=“#f00″; // 设置调试背景

this.style.zIndex=1; // 设置z轴优先

}

obj.onmouseout=function(){ // 鼠标移出,设回默认值

this.style.width=”“;

this.style.height=”“;

this.style.padding=”“;

this.style.backgroundColor=”“;

this.style.zIndex=”“;

}

}

zoom(”first“,1.25,1.25);

zoom(”second“,1.25,1.25);

zoom(”third“,1.25,1.25);

篇9:阿里巴巴java面试题

阿里巴巴java面试题

阿里巴巴软件招JAVA高级工程师面试题【1】

1.两个对象值相同(x.equals(y)==true),但却可有不同的hash code,这句话对不对?为什么?

2.GC是什么?为什么要有GC?

3.请简要描述一下J2EE应用中的class loader的层次结构?

4.写一段代码,实现银行转帐功能:

接口定义如下:

Public interface ITransfer{

/**

* 银行内部转帐,从转出帐号中扣除转帐金额,给转入帐号增加转帐金额,需要保证以上两个操作

* 要么同时成功,要么同时失败

* fromAccountId 转出帐号

* outAccountId 转入帐号

* amount 转帐金额

**/

Public void transferInner(String fromAccountId,String outAccountId,

BigDecimal amount);

/**

* 外部转帐-转出,从转出帐号中扣除转帐金额

* fromAccountId 转出帐号

* amount 转帐金额

**/

Public void transferOut(String fromAccountId,BigDecimal amount);

/**

* 外部转帐-转入,给转入帐号增加转帐金额

* toAccountId 转入帐号

* amount 转帐金额

Public void transerIn (String toAccountId, BigDecimal amount);

}

请编写你的实现类,来实现上述接口

Account表

字段:accountId , 主键 varchar2(32), 用户帐号

字段:amount , 金额 number(18,3)

5.”组合优于继承“,是否同意这句话,并阐述你的观点。

6.请说下Template模式与Strategy模式的异同点。

阿里巴巴面试题 java方向【2】

一、String,StringBuffer, StringBuilder 的区别是什么?String为什么是不可变的?

二、VECTOR,ARRAYLIST, LINKEDLIST的'区别是什么?

三、HASHTABLE, HASGMAQ,TreeMap区别

四、ConcurrentMap和HashMap的区别

五、Tomcat,apache,jboss的区别

六、GET POST区别

七、SESSION, COOKIE区别

八、Servlet的生命周期

九、HTTP 报文包含内容

十、Statement与PreparedStatement的区别,什么是SQL注入,如何防止SQL注入

十一、redirect, foward区别

十二、关于JAVA内存模型,一个对象(两个属性,四个方法)实例化100次,现在内存中的存储状态,

几个对象,几个属性,几个方法。

十三、谈谈Hibernate的理解,一级和二级缓存的作用,在项目中Hibernate都是怎么使用缓存的

十四、反射讲一讲,主要是概念,都在哪需要反射机制,反射的性能,如何优化

十五、谈谈Hibernate与Ibatis的区别,哪个性能会更高一些

十六、对Spring的理解,项目中都用什么?怎么用的?对IOC、和AOP的理解及实现原理

十七、线程同步,并发操作怎么控制

十八、描述struts的工作流程。

十九、Tomcat的session处理,如果让你实现一个tomcatserver,如何实现session机制

二十、关于Cache(Ehcache,Memcached)

二一、sql的优化相关问题

二二、oracle中 rownum与rowid的理解,一千条记录我查200到300的记录怎么查?

二三、如何分析ORACLE的执行计划?

二四、 DB中索引原理,种类,使用索引的好处和问题是什么?

二五、JVM垃圾回收实现原理。垃圾回收的线程优先级。

二六、jvm 最大内存设置。设置的原理。结合垃圾回收讲讲。

篇10:阿里巴巴面试题java

1、自我介绍(还好我昨天准备了下)

2、某个项目中遇到的最大问题

3、团队成员间如何更好的协作

4、项目的总体框架,模块的测试

5、项目中用到的设计模式

6、系统的安全性

7、除了JSP还用过什么视图显示

8、关于Ajax的问题,没接触过,题目也忘了

9、HashMap和HashTable的区别

10、关于Hashmap中key和关联对象的问题(对题目不太理解)

11、多态的实现机制 (蒙了)

12、类加载的原理 (说了个反射)

13、举一个线程同步的例子

14、Servlet的生命周期

15、对SOA的'理解 (我说这东西有点虚了,会被云计算取代)

16、用过什么开源web框架

17、讲述各种排序算法的特点 (讲了一大堆)

18、如何处理对数据库某张表的大量并发处理,性能提高(还好看过oracle)

19、数据库中各种表的关联关系的理解(有难度)

20、面向对象的特征

21、Lucene和Nutch的区别

22、喜欢什么运动 (网球)

23、喜欢看书吗?喜欢看什么书?

24、通过什么途径了解最新的技术发展

25、如果淘宝的offer也拿到了,你怎么选择

26、职位规划

篇11:阿里巴巴ios面试题

“下水井盖为什么是圆的?”

“全世界有多少辆汽车?”

不知道有多少“微软面试题”,”google面试题"在网上到处流传。

其实恰恰反了,这些不着调的面试题,并不因为它是微软和google的面试题就变得高深莫测。之所以会有这样的题目出现,正是以其极度的不靠谱反衬了这些大公司对“过程比答案重要”的诠释,和对自己的面试官面试的把控能力的信心。

对于一个合格的面试官来说,问题只是话题的起点。所以精心准备的答案可能在面试官的一次追问后全盘崩溃,一开始支支吾吾的面试者,也可能在面试官逐渐的引导下展示出自己的能力。

我常常提一个观点,面试和考试不同,面试可能因为一个问题答得好而通过,也可能因为一个回答不好而通过。其实面试只有结果,没有分数。设想以下场景:

“能解释一下http协议中302这个状态码是什么吗?”,“我不记得了。” (0分)

“能解释一下http协议中302这个状态码是什么吗?”,“哦,记不清了,我只记得404是找不到页面,304是可以从缓存读取,5xx是服务端错误” (加分,了解一定http状态)

“能解释一下http协议中302这个状态码是什么吗?”,“啊,那个,应该是服务端错误吧?”(倾向于面试不通过,不了解的时候尝试猜测蒙混,这种特质对工作不利)

你看,同样的一个问题,同样是应聘者不知道问题的答案的情况,结果却大相径庭。

所以,面对面试题,过程重于结果,纠结于题目、准备答案是不会有任何意义的。

面试时该如何做呢?以下是我的几点建议:

厘清问题,必要时可以跟面试官沟通确认,避免误解,不但理解问题,还要同时思考面试官的意图

不急于开始回答,可以先分析问题,列举实际案例,争取思考时间

不限于回答问题,可以以对面试官意图的理解为基础,主动讲解相关知识,展示自己对相关领域的体系化思考

正面承认自己了解和不了解的东西,不敷衍,不猜测,有记不清的地方,可以正面要求面试官提示

以上四点,都是只有面试场景才能够使用的,这也是为什么我说“面试和考试不同”。

关于争论

技术相关岗位中,常常有这样的抱怨:“面试官技术比我弱怎么办?面试官跟我争论技术问题怎么办?”

通常情况下,面试官不应该也不会跟应聘者讨论技术问题本身,比如我,如果觉得应聘者回答错误,会尝试以追问的形式考查应聘者能否自圆其说,一些概念性错误,我则会追问其来源出处,直到对方无法回答。

当然,不怕一万,就怕万一,作为应聘者,万一遇到了这样的事情,而且面试官真的错了怎么办?

虽然面试官在这样的场景下天然强势,但其实也不是完全没有办法,有三点,至少可以缓解问题:

一、不要正面否定对方,尝试认同对方观点合理性,再从侧面反驳。

二、展示推理过程,从双方共同认可的观点出发,层层推理得出你的结论,在过程中,不断跟面试官讨论确认。

三、引述出处,使用专业词汇,使得面试官对你的观点天然产生敬畏,不敢草率否定。例如:

“说说为什么JavaScript是一门基于对象的语言而不是面向对象的语言?” “JavaScript明明就是面向对象啊?”(惨死,还是冤死)

“说说为什么JavaScript是一门基于对象的语言而不是面向对象的.语言?” “哦,JavaScript的语言规范ECMA262的序章里面提到过JavaScript是面向对象的语言,而ECMA262名词解释里也提到了JavaScript是基于对象的语言。在它这个定义里面,面向对象是指以对象为主要抽象工具,描述逻辑,基于对象是指基础库和运行时设施。

以对象为基础来设计。所以JavaScript既是面向对象,又是基于对象。JavaScript是基于对象的语言而不是面向对象这个说法我好像也听过,但是记不太清了,因为觉得语言规范比较权威嘛,呵呵”(说的有凭有据,又留足面子,至少得回去掂量一下……)

其实“不靠谱的面试官”很少出现,这样的突发情况并不是总能处理好,我们要尽最大努力,剩下的就凭运气了……

关于简历

一个人合适不合适,在面试前就决定了大半。一个简历看上去合格的应聘者,面试阶段可能只是确认简历上内容的真实性罢了。

有些应聘者,尤其是应届生特别容易受到各种传奇故事的感染,追求出位。其实简历只是信息的载体,不管它有多好看,不管你制作的多认真,最重要的还是它的内容。

所以,简历上最重要的是什么呢?各个岗位有所不同,下面是我对技术岗位的简历上比较看重的内容:

工作履历,尤其是上一份工作,公司名是否听过,公司档次,如BAT、FLG,岗位

教育经历,是否是top2 是否是国外名校,是否是985、211学校,是否有ACM竞赛获奖经历

技术社区贡献,blog是否有深度内容,是否有稳定更新,github上有没有高质量开源项目

项目经历,项目的规模,复杂程度,其中体现的

个性化内容:技术视野,个人成长经历,个人研究内容,学习方法

写简历的时候,首先要明白,HR或者主管查看简历的时候,一般只会花费1分钟,于是有以下几点建议

这其中次要信息越少,重要信息就越突出

任何复杂的排版方式,都会加大阅读困难

变色强调非常有用,可以突出重点,但是到处变色强调是灾难

技能列表,精通和熟悉,这些内容价值不高,偶尔还会惹麻烦

应届生常犯的错误是使用网上的各种简历模板,然后拼凑内容。没有项目经历硬造项目经历,找一些亲友开的公司硬挂靠顾问甚至总裁助理职位,这些东西会阻碍面试官看到真正有价值的内容。

正确的写简历方式是用一张白纸,先写好必要的个人信息和联系方式,然后列出所有你觉得自己做过的有价值的事和拿到的荣誉,按照从重要到不重要依次排列,再做简单的分类组织。

然后,问题来了,对很多人来说,这个列表是空的?怎么办?

我的建议是,既然是空的,那就不写,请把经历放在个性化内容上,从技术视野,个人成长经历,个人研究内容,学习方法中,选择一项,深入谈谈你做过的努力,这些也有可能打动面试官,比硬性拼凑的内容强过百倍。

了解招聘方

了解每个企业的部门结构和招聘节奏,非常有利于拿到offer。咳咳,现在是广告时间:

阿里巴巴的校园招聘分为春秋两季,每一季招聘又分为提前批次、正式招聘和补招三部分。

提前批次招聘不论是否通过都不影响参加后续招聘,是阿里各部门独立运作的招聘阶段,可谓额外的福利,可以找阿里内部的师兄师姐帮忙推荐到想去的部门,注意这个时候是没法改部门的,如果你有明确意向,务必说明。

正式招聘是阿里集团统一的招聘,会到全国主要城市面试,需要先通过网上答题笔试。如果笔试不过,霸王面也有微弱几率获得面试机会。

补招只针对未能参加校招面试的同学,会持续比较长时间,但是除非有特别情况正式招聘不通过的情况下无法参加。

现在正是提前批次招聘,对阿里无线前端有兴趣的同学,请投简历到 ali-mfe-hire@list.alibaba-inc.com

今年我们前端团队也在尝试变革,所以有Java和全栈岗位开放,同样投 ali-mfe-hire@list.alibaba-inc.com

篇12:阿里巴巴面试题java

01. 介绍一下你技术方面

刚开始有点紧张,说的有点断断续续,中间还有HR MM进来,另外一个mm进来给面试官端水

02. 性能优化方面

我理解为代码层面的

我:

一是:HTML层次结构不要太深,层次结构深会xx…

二是:防止内存泄露,DOM和javascript是两种东西,特别在IE等浏览器,javascript操作DOM效率低,容易造成内存泄露,在不使用的时候最好设为null

三是:写类的时候用prototype,不要动态this.xx = funciton(){}, 这样不能资源复用

面试官:还有吗

我疑问:哪方面的优化

面试官:站点性能优化

我豁然,说:哦,缓存啊,代码本地化

面试官疑惑:本地缓存?如何?

我:Expires,Etag等

面试官:还有呢

我:如果有条件使用cdn,还有cookie隔离

面试官疑问:隔离?

我:就是防止静态资源发送cookie,通过配置独立域名的,另外独立域名的好处还有多线程下载,因为传统浏览器限制了并发数2,是一个域名限制2,如果多一个域名可以多几个并发

面试官:那么通常说脚本为什么要放头和放尾呢

我:我知道一般放尾是为了不影响HTML的解析,另外放尾处可以不用DOM ready,直接可以document.getElementById等,至于放在头一般是变量定义吧,还有可能是受base得影响,放在头部一般是css文件,防止裸奔

03. 字体定义有哪俩种方式

我理解为字体定义font-face

我:用font-face引入字体文件,有俩种?

面试官:是字体大小

我:哦,有俩种单位,一个是绝对值,类似于px,一个是相对值em之类的

面试官追问:那em和px有什么关系

我:如果父元素定义字体大小16px,那么子元素定义1em,大小就是16px

追问:em默认值是多少

我:不太清楚,跟浏览器设置有关吧

04. 弹性布局和响应式及重构

我:通过media-query,让不同浏览器展现不同布局

面试官:还有吗?

(我有点卡了,这方面确实没怎么研究)

继续说:每个组件在不同屏幕上显示不同样子吧,比如导航菜单在宽屏下显示一通栏,在手机上显示一个按钮

(其实他想听到我对弹性布局、流式布局的解释,用相对单位、max-width来控制等)

面试官:有一篇文章中说99%的网站都需要被重构,这个文章你有看过吗?

我:没有,听过

面试官:为什么这么说?

我:主要是政府等网站,大量的使用了table等标签,不规范,不过这个地方成本很高。

(这个问题没回答好,有点答非所问,不知道当时怎么想的,应该从规范、趋势、移动端方面去回答这个问题)

05.你知道什么叫优雅降级和渐进增强

我:我知道有两种,至于如何和这两个词对上不知道,一种是类似于border-radius,能显示圆角更好看,不能显示就显示方形,用户也可以接受;另一种是比如我要一个长连接,在高端浏览器上使用websocket,不能使用的用iframe流或者ajax,这个已经有socket.io封装了,算是渐进增强吧

阿里巴巴实习生的总结

阿里巴巴年终奖

阿里巴巴规章制度

阿里巴巴实习心得

阿里巴巴合作计划书

阿里巴巴分析总结报告

android面试题

数据库面试题

hibernate面试题

学生会面试题

阿里巴巴实习生面试题(整理12篇)

欢迎下载DOC格式的阿里巴巴实习生面试题,但愿能给您带来参考作用!
推荐度: 推荐 推荐 推荐 推荐 推荐
点击下载文档 文档为doc格式
点击下载本文文档