阿里2014前端线上笔试题

8月20号阿里巴巴前端岗位校园招聘的线上笔试题,因为是面向2014界的应届生,哥不符合要求了,但也看了看题,哥也不是什么前端大拿,必然无法评价题的质量了,不过玉伯,寒冬等大拿都评价题还是不错的,区分度很好,由于题目是随机的,囧。自码答案,有误欢迎指正,部分问题还没添加答案~

No.1

下图绿色区域的宽度为100%,其中有三个矩形,第一个矩形的宽度是200px,第二个和第三个矩形的宽度相等。请使用css3中的功能实现它们的布局。
col
已知html结构是:

<div>
 <div>column 1</div>
 <div>column 2</div>
 <div>column 3</div>
</div>
No.2

有两个盒子 A、B,B 在 A 盒子中,它们的 css 是这么定义的:

A {
    position:relative;
    width:500px;
    height: 500px;
    background-color:green;
}
B {
    position:absolute;
    max-width:300px;
    max-height:300px;
    background-color:blue;
}

如何实现 B 在 A 中水平方向和垂直方向居中

No.3

经常在SNS中看到如下图所示的功能:

T17wqkFXtXXXcDECcS-547-180

请通过代码完成它,它至少应该:
1. 良好结构、语义化的HTML
2. 兼容主流的浏览器;
3. JS应该包括: 1) 实时计数功能 2)校验字数限制 3) 防止重复提交;
4. 如果时间所限,无法100%,但请说明实现方案及思路;

No.4

//现有代码如下:

function test() {
	var a = 1;
	setTimeout(function() {
		alert(a);
		a = 3;
	}, 1000);
	a = 2;
	setTimeout(function() {
		alert(a);
		a = 4;
	}, 3000);
}
test();
alert(0);

//请注意,代码中有三处alert.他们分别会alert出什么值,时间上的顺序是怎样的?
//请详述得到这个答案的原因,特别是test函数的局部变量a是对运行结果的影响.

No.5

们使用CSS3新属性,比如:box-shadow或者transition时,我们怎么检测浏览器是否支持这些属性?
请设计一个javascript函数,该函数接受一个CSS属性名作为参数,并返回一个boolean值,表明浏览器是否支持这个属性。

No.6

如果你现在使用的是 Google Chrome 或 Apple Safari,如何让 input 元素在默认情况下显示 “alipay WD Team”,而在光标移入后则显示空白?

No.7

解释一下

alert(Function instanceof Object);
alert(Object instanceof Function);

这个结果。

No.8

//现有代码如下:
var foo = 1;
function main(){
alert(foo);
var foo = 2;
alert(this.foo)
this.foo = 3;
}
//1.请给出以下两种方式调用函数时,alert的结果,并说明原因。
var m1 = main();
var m2 = new main();
//2.如果想要var m1 = main()产生的m1和前面的m2完全一致,又该如何改造main函数?

No.9

实现如下图所示的布局
要求:
sidebar 固定宽度200px,content和header宽度自适应
当window宽度小于600px时,变成三行布局

默认如下
T1fC9gFjNbXXcmzizJ-263-80
宽度小于600px时如下
T1bwKfFepeXXc_3Knr-160-135
下面是html结构:

<div class='header'>
            <h1>header</h1>
        </div>
        <div>sidebar"</h1>
        </div>
        <div>
            <h1>content</h1>
        </div>

请写出其css代码.

No.10

写一段脚本,实现:当页面上任意一个链接被点击的时候,alert出这个链接在页面上的顺序号,如第一个链接则alert(1), 依次类推;

No.11

请用html5标准完成以下页面布局(要求完整书写整个页面的html代码,不需要写CSS)
html5

No.12

有一个页面区块如图所示,请用符合语义化的标签书写HTML代码。

T16eugFbldXXc4u1TV-352-206

No.13

在CSS样式中常使用px、em两种长度单位,各有什么优劣,在表现上有什么区别?

No.14

(new Date).getTime() 和 +new Date() 都可以取到当前时间戳,它们的实现原理是什么,哪个效率更高?

No.15

在tmall.com的某个页面中存在一个id等于J_iframe_taobao的iframe,该iframe的域名是taobao.com。在不考虑IE浏览器的情况下,用最简洁的代码实现页面与该iframe进行双向通信?

...
<iframe id="J_iframe_taobao" src="http://taobao.com/xxx"></iframe>
...
No.16

请写一个 getParents 方法让它可以获取某一个 DOM 元素的所有父亲节点。

No.17

请写出至少5个html5新增的标签,并说明其语义和应用场景

No.18

有哪些前端代码优化/性能优化的方法?

No.19

请列举所知道的css选择器,并说明怎么判断优先级?

No.20

有一个数组,其中保存的都是小写英文字符串,现在要把它按照除了第一个字母外的字符的字典顺序(字典顺序就是按首字母从a-z顺序排列,如果首字母相同则按第二个字母……)排序,请编写代码:

例:
["abd","cba","ba",]
排序后
["ba","cba","abd"]

No.21

1.你了解arguments对象么,它有哪些属性?
2.arguments是数组么?如果不是请写一段代码将其转化为真正的数组,什么情况下需要这么做?
3.arguments有什么特性,可以用这些特性做什么?

No.22

请为JavaScript每个Array对象添加一个类似于PHP的shuffle()的方法。

No.23

CSS的“伪类”和“伪元素”有什么区别?请举例伪元素的几种应用场景。

No.24

页面中有个id为J_banner的区块,请使用CSS实现在普通屏幕上使用图片banner.png为背景,在retina屏幕上显示更高分辨率的图片banner_retina.png作为背景

<div id="J_banner"> ... </div>
No.25

下面是一段html代码,展示效果如图A所示。请给出一段css,使这段代码达到图B的展示效果。
T1WyOhFaFdXXc_8FLc-666-410

<ul>
<li>
<a href="#"><img width="100" height="100" src="a.jpg /></a>
<p>文字一</p>
</li>
<li>
<a href="#"><img width="100" height="100" src="a.jpg" /></a>
<p>文字二</p>
</li>
</ul>
<ul>
<li>文字三</li>
<li>文字四</li>
<li>文字五</li>
<li>文字六</li>
</ul>

要求:
1.不允许修改html结构;
2.css不必考虑浏览器默认样式的因素,布局正确即可;
3.不要求严格对齐,如有需要,元素尺寸可自定义。

No.26

var a = [-3,-1,0,1,3,5,7,9], b = [-4,-2,0,2,3,4,5,6,7,8];
//返回一个合并过的数组[-4,-3,-2,-1,0,0,1,2,3,3,4,5,5,6,7,7,8,9]

No.27

//请补全下面的函数,仅当p为数组时返回true.
//可给出多种实现方式,每种实现方式不一定完美,如果不完美,需要说明每种实现的限制
function isArray(p) {
//你的代码在这里
}

No.28
<p>1</p>
<p>2</p>
<p>3</p>

请编写一段css,让数字1颜色变蓝

No.29

请让页面中的一个元素(10px*10px)围绕坐标(200, 300) 做圆周运动

No.30

用HTML实现下面表格的结构:
table

No.31

‘data-’属性的作用是什么?

No.32

请列举CSS中用于隐藏元素的两个属性?两者的差异?

display:nonevisibility: hidden;前者不占位,后者占位。

No.33

jquery中,选择器使用的是sizzle,sizzle的基本原理是”从后往前查找”,比如选择器“ .a > .b > .c”,是先查找”.c”而不是”.a”。请解释为什么大部分情况下“从后往前”比“从前往后”查找速度更快

No.34

//现有代码如下:
var a = 1;
var obj = { b : 2 };
var fn = function() {};
fn.c = 3;
function test(x, y, z) {
x = 4;
y.b = 5;
z.c = 6;
return z;
}
test(a, obj, fn);
alert(a + obj.b + fn.c);
//这段代码能够正常运行么?如果不能正常运行,请说明原因.
//如果可以运行,最后一行alert的值是多少,并请说明原因.

No.35

请编写一段程序,将一个对象和它直接、间接引用的所有对象的属性字符串放入一个数组。


var o = {a:1,{b:2,c:{d:1}}}

这里o经过处理后,应该得到
["a","b","c","d"]

No.36

请举两个例子,解释一下strong和em标签用法有何不同?

No.37

请用实现一个最简单的输入框提示功能
T1jdqeFh8fXXbqUazF-330-57
要求:
1.输入框内默认显示提示文案,当用户点击输入框后,光标定位到输入框最前,并继续显示提示文案,当用户输入后替换默认提示文案,当用户清空输入框后从新显示默认提示文案
2.要求支持ie(6,7,8,9),firefox,chrome等浏览器
3.请写出html结构,javascript代码逻辑部分写出实现思路即可(有时间能写出代码者最佳,可以使用js库)

转载于:https://www.cnblogs.com/ljack/p/3392793.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 浙江宇视科技是一家技术领先且充满活力的企业,在c语言嵌入式软件开发领域具备一定的实力。对于这次线笔试,我认真思考后进行了尝试。 首先,笔试集中在c语言方面,并且要求熟练掌握各种数据类型、条件语句、循环语句等基础知识。我按照目要求,使用gcc编译器对代码进行编译、执行和调试,确保代码的正确性和高效性。 其次,笔试中设计到了实际问的解决方式,如时间戳、计算机网络和数据加密等。我通过查阅相关资料和借鉴以往的项目经验,积累了相应的经验和技巧,并对问进行深入思考和分析。最终,我逐一解答出所有的问,并给出了我自己的思路和解决方案。 最后,通过这次线笔试,我对c语言嵌入式软件开发有了更熟练的掌握,加深了对实际应用场景的理解和应用能力。同时,也更加深刻地认识到c语言在嵌入式领域中的重要性和应用价值。 ### 回答2: 浙江宇视科技的C语言嵌入式软件开发线笔试包含了基本的C语言知识、嵌入式系统概念和底层编程相关知识。这次笔试目数量较多,需要考生有较好的代码编写和调试能力。 这份笔试中有大量的编程目,如遍历链表、字符串反转、冒泡排序等。同时也包含了一些与嵌入式系统开发相关的问,如常用的MCU架构、硬件外设驱动、SPI通信等。 除此之外,笔试还要求考生具备解决实际问的能力。例如给出一张简单的布线图,要求考生按照要求,使用Arduino和相关硬件搭建出一个简单的车载OBD系统。这要求考生具备一定的硬件知识,对于嵌入式系统的整体架构和流程有着较为完整的了解。 另外,在这份笔试中,还有一些具有挑战性的算法目,如求解斐波那契数列的第n项、判断图形是否为回文等等。这要求考生在代码编写和调试上具有出色的能力。 总的来说,这份笔试要求考生具备扎实的编程基础和一定的嵌入式系统开发能力。在此基础上,具备解决实际问的能力和挑战性的算法解能力将成为加分项。 ### 回答3: 浙江宇视科技c语言嵌入式软件开发的线笔试主要涉及C语言的基本语法、数据类型、控制结构、函数、指针等方面内容。以下是具体目: 1. C语言中基本数据类型有几种?分别是什么? 2. 请写出C语言中常见的控制结构及其作用。 3. 请写出C语言中常见的数据类型转换方式。 4. 请写出C语言中常见的函数调用方式。 5. 请解释C语言中指针的含义及其作用。 这些目涉及的内容涵盖了C语言嵌入式软件开发的基础知识,在实际开发中都是必不可少的。需要注意的是,除了理论知识之外,实际编写代码的能力同样重要。因此,在做这些目的同时,还要注意练习编写相关的代码,加深对知识的实际应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值