同程2017校招前端工程师笔试试卷

1、以下哪种情况不会触发 BFC(Block Formatting Context):
float:left
overflow:hidden
position:relative
display:inline-block
position:fixed
display:flex
答案:C
以下的值都会触发BFC:
    float:的值不为none,都会触发BFC。
    position:absolulute,fixed
    display:in-line-block,table-cell,table-caption,flex,inline-fiex.
    overflow:不为visible.
2、关于以下 URL的描述错误的是( ) http://www.ly.com/
正确答案: A
http表面使用TCP协议
又名统一资源定位符,方便确定一个资源,并表示出它在哪里
URL中隐藏了端口号,默认是80端口
访问URL可使用大写字母
3、有以下代码片段:
var a =[];
a[0]=1, a[1]=2, a[2]=3, a[5]=4;
请问a.length的值是多少( )
正确答案: D
会报错
3
4
6
4、下列代码运行的结果( )
short i=65537;
int j=i+1;
printf("i=%d,j=%d\n",i,j);
正确答案: B
i=65537,j=65538
i=1,j=2
i=-1,j=0
i=1,j=65538
解:short占两个字节,65537的二进制表示为:1 00000000 00000001,short i = 65537时,发生了溢出,i取16bit,为1。所以
i=1,j=2
5、归并排序的时间复杂度( )
正确答案: B
O(log(N))
O(N*log(N))
O(N)
O(N^2)
解:归并排序的时间复杂度:O(N*log(N))
6、数据库事务的4个特征是:原子性、一致性、( )、隔离性。
正确答案: C
只读性
封装性
持续性
恢复性
解:数据库事物的4个特征是:原子性、一致性、持续性、隔离性。
7、整数0x12345678,在采用bigendian中内存的排序序列是( )
正确答案: A
12 34 56 78
78 56 34 12
87 65 43 21
21 43 65 87
解:一般默认大端所以大端原样小端交换前后
8、执行以下SQL,下面哪个名字会被查询出来( ) 
Select firstname from stafflist
where firstname like'_A%'
正确答案: C D
Allen
CLARK
JACKSON
DAVID
解:这是模糊查询的通配符
_:代表的是任意单个字符
%:任意长度的字符串
所以_A%代表返回第二个单词为A的任意字符串
[]:代表指定范围内的任意单个字符
    [^]:代表指定范围内或者集合中的任意单个字符
9、有如下代码片段:
var obj ={a:1,b:function () {alert(this.a)}}; 
var fun =obj.b; 
fun();
运行结果是( )
正确答案: C
弹出a
弹出1
弹出undefined
什么也看不到
10、二分查找的时间复杂度( )
正确答案: C
O(N*log(N))
O(N)
O(log(N))
O(N^2)
11、下面叙述错误的是( )
char acX[]="abc';
char acY[]={'a','b','c'};
char *szX="abc";
char *szY="abc";
正确答案: D
acX与acY的内容可以修改
szX与szY指向相同的地址
acX占用的内存空间比acY占用的大
szX的内容修改后,szY的内容也会被更改
解:"abc"是保存在文字常量区,属于字符串常量,所以该数据不能修改,默认是只读属性。
12、某计算机内存空间按字节编址,若某区域的起始地址为:4A000H,终止地址为4DFFFH,则该段内存区域的容量是( )[进制转换计算]
正确答案: A
16KB
24KB
214KB
1MB
解:4DFFFH-4A000+H = 4000H 
4*16^3/2^10=16kb
13、以下哪个是并选择器( )
正确答案: C
item
span.item
span, .item
span .item
14、如下语句通过算术运算和逻辑运算之后i和 j的结果是( ) 
int i=0;
int j=0;
if((++i>0)||(++j>0))
{
//打印出i和j的值。
}
正确答案: D
i=0;j=0
i=1;j=1
i=0;j=1
i=1;j=0
15、在SQL中,建立表用得命令是( )
正确答案: A
CREATE TABLE
CREATE RULE
CREATE VIEW
CREATE INDEX
解:A是建立表,B是建立规则,C是建立视图,D是建立索引
16、SQL查询语句中where、group by、having 这些关键字区别和用法总结错误的是( )
正确答案: D
HAVING在查询语句中必须依赖于GROUP BY
WHERE 子句用来限制 select 语句从表中指定选取得行
GROUP BY 子句用来分组 WHERE子句的输出结果集
HAVING 子句用来从分组的结果中筛选列
解:HAVING 子句用来从分组的结果中筛选行,
列是在select中选择输出的
17、下列代码的运行结果( )
int a[]={1,2,3,4};
int *b=a;
*b+=2;
*(b+2)=2;
b++;
printf("%d,%d\n",*b,*(b+2));
正确答案: C
1,3
1,2
2,4
3,2
18、农夫需要把狼、羊、菜和自己运到河对岸上去,只有农夫能够划船,而且船比较小,除了农夫之外,每次只能运一种东西,还有一个棘手问题,就是如果没有农夫看着,羊会偷吃菜,狼会吃羊,请按照下列顺序选择合理过河方法() A农夫单独过河 B 农夫带狼过河 C农夫带羊过河 D农夫带菜过河 E农夫单独返回 F农夫带狼返回G 农夫带羊返回H 农夫带菜返回
正确答案: B D 
CEDEBEC
CEBGDEC
BEDEC
CEDGBEC
19、以下哪些是javascript的数据类型()
正确答案: A B C
String
Number
Undefined
Date
20、在不考虑H5的情况下,下列哪些值是可以作为标签的type属性的属性值。()
正确答案: A B C
text
submit
button
date
21、有 2 个表,表 1 为邮轮订单表: CruiseOrder ,表 2 为用户表: B2CUser
CruiseOrder:
OrderSerialId B2CUserld OrderPersons OrderAmount
Dc00001 1 2 4000
Dc00002 2 3 6000
Dc00003 3 4 8000
B2CUser:
B2CUserId B2CUserName
1 赵先生
2 钱女士
3 孙先生
小明写了两个 SQL 语句:
 SELECT OrderSerialId,B2CUserName,OrderPersons,OrderAmount FROM CruiseOrder co
LEFT JOIN B2CUser bu ON co.B2CUserId=bu.B2CUserId and bu.B2CUserName=’赵先生’
SELECT OrderSerialId,B2CUserName,OrderPersons,OrderAmount FROM CruiseOrder co
LEFT JOIN B2CUser bu ON co.B2CUserId=bu.B2CUserId WHERE bu.B2CUserName=’赵先生’
请问两个语句执行结果为:()
正确答案: B
A、一样
B、不一样
C、一样,执行结果为Dc00001 赵先生 2 4000
D、不一样,
第一个语句结果为 
                 Dc0001 赵先生 2 4000
                 Dc0002 钱女士 3 6000
                 Dc0003 孙先生 4 8000
第二个语句结果为
                 Dc0001 赵先生 2 4000
22、当position属性值是___时,不能做绝对定位的参考元素。
参考答案 static
23、用margin设置边距,上:10px,下20px,左:10px,右10px____
参考答案 margin:10px 10px 20px 10px;
24、分割字符串的方法是____,连接数组元素的方法是____。
参考答案 
(1) split
(2) join
25、设置锚点用的a标签的____属性,lable的for属性指向的是表单元素的___属性。
参考答案 
(1) href
(2) id
26、在数组尾部添加元素的方法是___,弹出数组最后一个元素的方法是___。
参考答案 
(1) push
(2) pop
27、表单元素,设置表单提交方式和路径的属性为___和___。
参考答案 
(1) method
(2) action
28、选中类名为menu和open的li标签的子元素a的css选择器是____。
参考答案 
(1) li.menu.open>a
解:子元素用>,后代用的是空格
29、设计表格会设计到哪些标签元素?(请至少列出4个)
你的答案table tr td thead tbody tfoot
30、常用的伪类选择器有哪些?(至少写出4个)
你的答案
:link  :visited  :hover  :active  :before  :after
31、Input标签的type属性可以设置哪些值?(请至少列出6个).
你的答案
text button sublit img radio checkbox data range password 
32、1==true的返回值是true,这句话是否正确?
正确答案: A 
正确
错误
33、<i><em>标签语义分别表示斜体和加粗,是否正确?
正确答案: B
正确
错误
解:<em>表示强调
34、当/的两边都是整数时,/表示整除,是否正确?
正确答案: B
正确
错误
解:那如果是字符串呢!
35、函数是一种特殊的数据类型,这句话是否正确?
正确答案: B
正确
错误
36、在不改变元素的显示属性的情况下,元素都是可以设置宽度的,这句话是否正确?
正确答案: B
正确
错误
解:行内元素呢!
37、写个JavaScript函数来判断是否大于18岁,比如传入1993-6-3,返回true,传递2001-6-3返回false;
你的答案
function isThan(birth){
    var bArr=birth.split('-');
    var date=new Date();
    var cArr=[date.getFullYear(),date.getMonth()+1,date.getDate()];
    if (cArr[0]-bArr[0]>18) {
        return true;
    }else if(cArr[0]-bArr[0]==18&&cArr[1]>bArr[1]){
        return true;
    }else if(cArr[0]-bArr[0]==18&&cArr[1]==bArr[1]&&cArr[2]>bArr[2]){
        return true;
    }else{
        return false;
    }
}
38、请解释什么是MVC开发模式?
解:MVC是一种架构型模式,它本身并不引入新的功能,只是用来指导我们改善应用程序的架构,使得应用的模型和视图相分离,从而得到更好的开发和维护效率。
MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:
Model(模型)表示应用程序核心(比如数据库记录列表)。
View(视图)显示数据(数据库记录)。
Controller(控制器)处理输入(写入数据库记录)。
MVC 模式同时提供了对 HTML、CSS 和 JavaScript 的完全控制。
Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。
通常模型对象负责在数据库中存取数据。
View(视图)是应用程序中处理数据显示的部分。
通常视图是依据模型数据创建的。
Controller(控制器)是应用程序中处理用户交互的部分。
通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
MVC 分层有助于管理复杂的应用程序,因为您可以在一个时间内专门关注一个方面。例如,您可以在不依赖业务逻辑的情况下专注于视图设计。同时也让应用程序的测试更加容易。
MVC 分层同时也简化了分组开发。不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。 MVC模式的这三个部分的职责非常明确,而且相互分离,因此每个部分都可以独立的改变而不影响其他部分,从而大大提高了应用的灵活性和重用性
39、请解释css中的浮动,以及清浮动的方法。
解:
一、什么是浮动
通过设置float的值不为none,使得元素按特定的方向脱离文档流,不占据空间。浮动元素碰到包含它的边框或者浮动元素的边框停留。
二、浮动带来的问题
1. 父元素高度塌陷;
2.  浮动元素后的同级非浮动元素紧随其后;
3. 若浮动元素非同级第一个元素,其前面的元素也需要设置浮动,否则会被遮挡。
三、清除浮动的方法
1. 浮动元素后加一个空div,设置clear:both;
2. 父元素overflow: hidden/auto;zoom:1;
3. 父元素加clearfix类,定义如下:
.clearfix:after{
    display:block;
    content:''';
    height:0;
    clear:both;
    visibility:hidden;
}
.clearfix{
    *zoom:1;    //IE6触发hasLayout
}
4. 固定父元素高度

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明致成

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值