2019秋招4399前端笔试,答案自己做的不一定对
第一部分(选择题)
第1题《(1分)
以下关于进程与线程的区别,描述错误的选项是A
A. 进程和线程有自己的独立地址空间
B. 进程和线程通信方式不同
C. 进程是资源分配的最小单位,线程是CPU调度的最小单位
D. 进程上下文切换开销大,线程开销小
第2题(1分)
<div class= "box"></div>以下哪个使div的宽度不为0?A
A. box{display:flex;}
B. box{float:left;}
C. box{position:absolute}
D. box{display:inline;}
第3题(1分)
以下哪个选项不是HTML5中新增的特性?D
A. canvas画布
B. audio标签
C. localStorage本地存储
D. blockquote标签
第4题(1分)
以下代码运行的结果是:A
var name=’rose’;
var obj={
name:’jack',
func:function(){
console.log(this.name)
}
}
var obj2={
name:’jay'
var func=objfunc.bind(obj);
func.call(obj2);
A. jack
B. rose
C. jay
D. undefined
第5题(1分)(A)
下列描述中,正确的选项是
A. cookie一般由服务器生成,可设置失效时间,默认是关闭浏览器依然有效
B. cookie以及sessionStorage都会伴随着http请求发送到服务器
C. localStorage在同源窗口中不能共享数据
D. session保存在服务器,客户端不知道其中的信息
第6题(1分)
关于es6箭头函数说法错误的是A
A.可以使用new操作符,当作构造器
B.更简短的函数
C.不绑定arguments
D.箭头函数与其上下文中的代码共享一个词法作用域的this
第7题(1分)
以下关于jquery的描述中,错误的选项是。A
A. $(document).ready()与window onload的触发时机一致
B. .on方法的原理是事件冒泡和事件委托
C. .ajax的dataType选项可设置为:json/xml/html/script/jsonp/text
D. $(this)返回的是个jQuery对象
第8题(1分)
假设一个主机的IP地址为192.168.5.121,而子网掩码为255.255.255.248. 那么该主机的网络号部分(包括子网号部分)为C
A. 192.168.5.1
B. 192.168.5.121
C. 192.168.5.120
D. 192.168.5.32
第9题(1分)
以下哪个选项不是CSS3中新增的特性?D
A. box-shadow
B. border-radius
C. background-size
D. background-repeat
第10题(1分)
线性表若采用链式存储结构时,要求内存中可用存储单元的地址D
A. 必须是连续的
B. 部分地址必须是连续的
C. 一定是不连续的
D. 连续不连续都可以
第11题(1分)(C)
我们在请求一些静态资源文件的时候,经常都会将这些静态资源放到二级域名下去请求访问。比如www.4399.com请求static.4399.com/j/main.js.以下说法错误的是
A. cookie隔离,减少主域进行http请求时携带的cookie
B. 方便静态资源做CDN加速
C. 增大http并发请求数
D.放置于独立域名 下更加安全,防止非法人员进行随意引用
第12题(1分)(B)
用箭头代表前后两次输出间隔为1s,下面的输出是:
for(var i=0;i<5;i++){
setTimeout(function(){
console.log(i);
},1000);
console.log(i);
A. 5->5,5,5,5,5
B. 5->5->5->5->5->5
C. 5->0,1,2,3,4
D. 5->0->1->2->3->4
第13题《(1分)
以下哪个标签属于微信小程序的内置标签?B
A. span
B. input
C. img
D. P
第14题(1分)
以下都属于块级元素的有B
A. div,img,li,dI
B. dd,ol,h1,dt
C. div,h1,p.select
D. div,input,ul,ol
第15题(1分)
以下关于javascript的描述中,错误的选项是B
A. push/pop/shift/unshift/join都是数组的方法
B. 使用for in循环可遍历到元素原型链上的所有属性
C. AMD,CMD,UMD,CommonJS都属于模块化规范
D. ES6中引入了class关键字,可以定义类
第二部分(简答题)
第16题(10分)
es5中,常用的数据类型包括哪些?并简述typeof以及instanceof的作用。
第17題(15分)
以下的表単存在娜些不足,指出并用前端知枳改迸表単。
<form action= "www.4399.com" method="GET" >
姓名<input type="text" name= "name" value= "">
文件<input type= "file" name="file">
男<input type= "radio" name= " sex" value=“男">
女<input type= "radio" name= " sex" value=女" >
<input type= "submit" value="提交">
</form>
第18题(15分)
下面该段代码的输出值,并阐述原因:
var xxx=1234;
function test(xxx){
console.log(xxx);
var xxx=123;
function xxx(){
}
console log(xxx);
}
test(444);
第三部分(编程题)
第19题(15分)
请编写sortStr方法,传入随机字符串,返回指定格式数组。
具体要求:如输入aadd,则返回[['a', 3], ['d': 2]];如输入bbccaaaa,则返回[[a: 4], [c 3], [b: 2]]。 (输入的字符串仅限小写字母组成,且可忽略不同字母数量相同的情况)
第20题(15分)
借助以下几个函数,分别使用es5和es6中的Promise(可借助所提供的promisity函数),编写getOnlinePercent函数。
//异步接口:返回当天在线用户数
function getOnlinePerson(callback){
//模拟实现
var onlinePerson=Math.ceil((Math.random()*1000));
setTimeout(function(){
callback(onlinePerson)
},Math.random()*1000);
};
//异步接口:返回当天总注册用户数function getRegPerson(callback){
//模拟实现
var regPerson Math.ceil(Math.random()*1000)+ 1000;
setTimeout(function(){
callback(regPerson)
}, Math,random()*1000);
};
//异步接口:返回当天在线人数百分比,需要【当天在线用户数】以及【当天总注册用户数】作为参数传入function calOnlinePercent(onlinePerson,regPerson,callback){
//模拟实现
var percent=Math.ceil(onlinePerson/regPerson*100);
setTimeout(function(){
callback(percent);
},Math.random()*1000);
};
//异步函数promise化
function promisify(fn){
return function(){
var args=Array.prototype.slice.call(arguments);
return new Promise(function(resolve){
args.push(function(result){
resolve(result);
});
fn.apply(null,args);
})
}
}
//结合以上几个函数,编写getOnlinePercent函数,在回调中返回当天在线人数百分比function getOnlinePercent(callback){
//此处编写你的逻辑代码
}
第21题(15分)
参考图示,请实现一个基础的消息对话框Demo.
支持消息发送及显示,Ctrl+Enter快捷键发送消息,对话框顶部可拖动。可使用原生JS或jQuery。加分项:代码整洁规范,安全,自适应
第四部分(主观论述题)
第22题(5分)
请用一个词评价自己,并简单剖析一下自己的性格特征。 你认为自己最大的优势和核心竞争力是什么?
第23题(5分)
你在学习该职位相关技术上有哪些优秀的方法途径和习惯?目前积累程度如何,请举例说明。
第24题(5分)
请描述一个例子,你曾经解决过一个别的同学解决不了的技术问题,你是如何做到的?
第25题(5分)
请问你为什么想做web前端?你认为出色的web前端开发技术人员应该具备哪些特质能力?这些能力你目前具备的程度如何?