猪八戒18秋招前端试题回馈牛友

回馈广大牛友,我又来发布试题啦~~

一. 选择题

1. 以下可以构建前后端即时通信的技术有AD

A. XHR-polling

B. Prefetch

C. history.pushState

D. websocket

2. 以下代码输出B

for(let i = 0; i <=4; i++){

setTimeout(console.log(i), 1000);

}

A. 0 1000 2000 3000 4000

B. 0 1 2 3 4

C. 1000 1000 1000 1000 1000

D. 4 4 4 4 4

3.    以下哪些是ES6ES7出现的新特性ACB

A. class Foo{…}

B. Asyncawait

C. …[1,2,3]

D. Object.defineProperty()

4. 下列哪个操作是W3C标准定义的阻止事件向父级传递D

A. e.preventDefault()

B. e.cancelBubble = true

C. e.stopImmediatePropagation()

D. e.stopPropagation()

5. 以下可以实现跨域的技术有(ABC)多选题

A. JSONP

B. Iframe

C. Window.postMessage

D. LocalStorage

6. 请选择为true的选项D

A. 1==1&& 0 === false

B. NaN == NaN

C. typeof [] == “array”

D. [] == false

7. 以下代码输出的文字颜色是B

<div class=”foo”id=”id”>text</div>

<style>

#bar {color:red;}

body > *{color:yellow;}

div.foo{color:blue;}

body.foo{color:black;}

</style>

A. yellow

B. blue

C. red

D. black

8. 以下代码片段中符合XHTML语法标准的有BCD

A. <img src=”http://www.zbj.com/logo.png”></img>

B. <div class=”welcome”>欢迎加入猪八戒</div>

C. <input type=”checkbox” value=”checkbox” checked=”checked”/>

D. <a href=”http://www.zbj.com”>查看更多</a>

9.    以下代码能使图片和文字换行显示的是C

<img src=”a.jpg” alt=”我是图片><span>我是文字</span>

A. span{clear:both;}

B. span{float:left;}

C. img{display:table;}

D. img{position:relative;}

10.  以下span占据页面的高度为b

<span style=”display:inline-block;height:30px;padding:10px;font-size:20px;line-height:2;”>

文字集合

</span>

A. 60px

B. 50px

C. 30px

D. 40px

二. 编程问答题

1. 密码检查

小明同学最近开发了一个网站,在用户注册账户的时候,需要设置账户的密码,为了加强账户的安全性,小明对密码强度有一定要求:

1. 密码只能由大写字母,小写字母,数字构成;

2. 密码不能以数字开头;

3. 密码中至少出现大写字母,小写字母和数字这三种字符类型中的两种;

4. 密码长度至少为8

现在小明受到了n个密码,他想请你写程序判断这些密码中哪些是合适的,哪些是不合法的。

输入:

输入一个数n,接下来有n(n<=100)行,每行一个字符串,表示一个密码,输入保证字符串中只出现大写字母,小写字母和数字,字符串长度不超过100

输出:

输入n行,如果密码合法,输出YES,不合法输出NO

2. 最小排列

由数字1n组成的一个序列我们称为一个n排列,对于两个不同的n排列A=a1a2…anB=b1b2…bn我们可以按字典序比较他们的大小:从前往后找到第一个两个排列中数字不同的位置,即找到一个位置p使得a1=b1,a2=b2

…ap-1=bp-1,ap不等于bp,若ap<bp,我们则称排列A小于排列B,反之则A大于B

现在给出一个n排列,你需要选择排列中的两个不同的位置,然后交换这两个位置的数字,你需要使得最后得到的排列尽量小。注意你必须进行一次且只能进行一次操作。

输入:

第一行包含一个数字n,表示排列的长度,2<=n<=10^5

第二行包含n个数字构成一个n排列

输出:

输出一个n排列,表示能得到的最小的排列

3.      给定任意字符串,返回所有叠字的数组。示例

输入:“独坐常忽忽,情怀何悠悠。山腰云缦缦,谷口风飕飕。”

输出:[“忽忽”,”悠悠”,”缦缦”,”飕飕”]

4.      获取页面所有HTML标签名称集合,示例

页面

<!DOCTYPE html>

<html>

<head>

<meta charset=”utf-8”>

<title>Document</title>

</head>

<body>

<div>

<p>11</p>

</div>

</body>

</html>

输出:

[“HTML”, “HEAD”,”BODY”,”META”,”TITLE”,”DIV”,”P”]

#笔试题目##秋招##猪八戒##前端#
全部评论
function copyWoorld(str) { var arr = str.split(''); var newArr = []; var arr2 = []; arr.forEach(function (ele,index,arr) { if( ele == ',' || ele == '。') { }else { if(newArr.indexOf(ele)<0){ newArr.push(ele); }else{ arr2.push(ele+ele); } } }); return arr2; } console.log(copyWoorld('独坐常忽忽,情怀何悠悠。山腰云缦缦,谷口风飕飕。'));
点赞
送花
回复
分享
发布于 2018-05-07 11:02
/* 关于密码检查,我试着写了一个正则 可以达到题目的要求 */ var reg = /^(?!(^[A-Z]+$)|(^[a-z]+$))(?!^\d+)((?!_)\w){8,}$/; // 我大概解释一下: (?!exp) // 匹配后面不是exp的数据 (?!(^[A-Z]+$)|(^[a-z]+$)) // 表示不能为纯大写或小写 (?!^\d+) // 不能以数字开头 ((?!_)\w){8,} // 字符(排除了下划线)数量大于等于8
点赞
送花
回复
分享
发布于 2018-08-31 13:47
秋招专场
校招火热招聘中
官网直投
秋招?
点赞
送花
回复
分享
发布于 2018-05-06 22:50

相关推荐

点赞 52 评论
分享
牛客网
牛客企业服务