bilibili2018前端秋招试题

这是我做过的bilibili试题,来分享一下啊~~

1. (基础编程能力考查)给电脑装内存有一批没有安装内存的电脑需要安装内存,由于每台电脑运行的程序不同,必须安装大于等于最小内存需求的内存条才能让电脑正常工作。现有一批不同容量的内存条。用数组computers表示每天电脑对内存的最小需求量,例如[1,2,3]用数组memory表示每个内存条的规格,例如[1,1,2,3]计算能够正确安装内存的电脑台数 注:1. 内存需求了和内存条规格都是正整数 2. 每台电脑只能装一根内存条

Input: [1, 3], [1,1]

Output: 1

Explanation: 有三台电脑,内存需求分别是1,2,3,有两根内存,容量都是1,因此只能给一台内存需求是1的电脑安装,输出为1

Input: [1,2], [1,2,3]

Output: 2

Explanation: 有两台电脑,内存需求分别是12,有三根内存,容量是123,两台电脑都有相应规格的内存可以安装,因此输出为2

2. (JS/DOM考查)阅读题目,填充代码在指定位置

<!DOCTYPE html>

<html>

<head>

<meta charset=”utf-8”>

<title>题目</title>

<meta name=”viewport” content=”width=device-width,initial-scale=1,user-scalable=no”>

<script>

var data = [

{

name: ‘北京’,

items: [

{

name: ‘北京’,

items: [

{

name: ‘东城区

},

{

name: ‘西城区

}

]

}

],

name: ‘浙江’,

items: [

{

name: ‘杭州’,

items: [

{

name: ‘上城区

},

{

name: ‘桐庐县

}

]

}

{

name: ‘宁波’,

items: [

{

name: ‘象山县

}

]

}

}

]

// 要求:实现省市区三级下拉联动

// 初始的select需要使用js通过数据构建,数据结构使用上方data变量中的结构,无需考虑页面样式,实现功能即可

// 填充代码在下方

</script>

</head>

<body>

</body>

</html>

3. (HTML/CSS)完美还原视觉稿(附图是3倍大小的PNG图片)


4. (逻辑、抽象、解决问题)三个小伙子同时爱上了一个姑娘,为了决定他们谁能娶到这个姑娘,他们决定用***进行决斗。小李的命中率是30%,小黄比他好些为50%,最出色的是小林命中率为100%。小李先***,小黄第二,小林最后,然后这样循环直到他们只剩下一个人。那么三人中谁活下来的机率最大呢?他们应该采取什么样的策略?


#笔试题目##秋招##前端#
全部评论
最后一题是啥…… 其他两个人先打小林,小林先打小黄吗?
点赞 回复 分享
发布于 2018-05-07 22:57
你好,这个不会要现场手写吧?
1 回复 分享
发布于 2021-03-16 23:37
public static int makeUpComputer(int[] computers, int[] memory) { Arrays.sort(computers); Arrays.sort(memory); int index = 0; int count = 0; for (int i = 0; i < computers.length; i++) { // i:当前考察的电脑索引 for (int j = index; j < memory.length; j++) { // j:当前内存条索引 if (memory[j] >= computers[i]) { index = j+1; count++; break; } } } return count; }
点赞 回复 分享
发布于 2018-08-02 08:54
b站前端考啥题
点赞 回复 分享
发布于 2018-09-07 10:31
方法比较笨,但能实现 <!DOCTYPE html> <html> <head>   <meta charset=”utf-8”>   <title>题目</title>   <meta name=”viewport” content=”width=device-width,initial-scale=1,user-scalable=no”>   <script>     var data=[{name:'北京',items:[{name:'北京',items:[{name:'东城区'},{name:'西城区'}]}]},{name:'浙江',items:[{name:'杭州',items:[{name:'上城区'},{name:'桐庐县'}]},{name:'宁波',items:[{name:'象山县'}]}]}] // 要求:实现省市区三级下拉联动 // 初始的select需要使用js通过数据构建,数据结构使用上方data变量中的结构,无需考虑页面样式,实现功能即可 // 填充代码在下方 window.onload=function createSelect(){   var str="";   str+="<select id='select1'></select>";   str+="<select id='select2'></select>";   str+="<select id='select3'></select>";   var div=document.createElement("div");   div.innerHTML=str;   document.body.appendChild(div);   selectEvent(); }   function selectEvent(){     var s1=document.getElementById("select1");     var s2=document.getElementById("select2");     var s3=document.getElementById("select3");     s1.addEventListener("change",s2change);     s2.addEventListener("change",s3change);     var str="<option>--请选择--</option>";     s1.innerHTML=str+"<option value='"+data[0].name+"'>"+data[0].name+"</option>"+"<option value='"+data[1].name+"'>"+data[1].name+"</option>";     s2.innerHTML=str;     s3.innerHTML=str;     function s2change(ev){       s3.options.length=1;       if(ev.target.value==data[0].name)         s2.innerHTML=str+"<option value='"+data[0].items[0].name+"'>"+data[0].items[0].name+"</option>";       else if(ev.target.value==data[1].name)         s2.innerHTML=str+"<option value='"+data[1].items[0].name+"'>"+data[1].items[0].name+"</option>"+"<option value='"+data[1].items[1].name+"'>"+data[1].items[1].name+"</option>";     }     function s3change(ev){       s3.options.length=1;       if(ev.target.value==data[0].items[0].name)         s3.innerHTML=str+"<option>"+data[0].items[0].items[0].name+"</option>"+"<option>"+data[0].items[0].items[1].name+"</option>";       else if(ev.target.value==data[1].items[0].name)         s3.innerHTML=str+"<option>"+data[1].items[0].items[0].name+"</option>"+"<option>"+data[1].items[0].items[1].name+"</option>";       else if(ev.target.value==data[1].items[1].name)         s3.innerHTML=str+"<option>"+data[1].items[1].items[0].name;     }   } </script> </head> <body> </body> </html>
点赞 回复 分享
发布于 2018-09-07 11:28
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>题目</title> <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no"> <script> var data = [{ "name": "北京", "items": [{ "name": "北京", "items": [{ "name": "东城区" }, { "name": "西城区" } ] }] }, { "name": "浙江", "items": [{ "name": "杭州", "items": [{ "name": "上城区" }, { "name": "桐庐县" } ] }, { "name": "宁波", "items": [{ "name": "象山县" }] } ] }] window.onload = function () { var div = document.createElement('div'); var option = ""; var val = ""; var select1 = document.createElement("select"); var select2 = document.createElement("select"); var select3 = document.createElement("select"); select1.setAttribute("id", "select1"); select2.setAttribute("id", "select2"); select3.setAttribute("id", "select3"); select1.innerHTML = "<option> --请选择-- </option>"; select2.innerHTML = "<option> --请选择-- </option>"; select3.innerHTML = "<option> --请选择-- </option>"; div.appendChild(select1); div.appendChild(select2); div.appendChild(select3); for (var i = 0; i < data.length; i++) { option = document.createElement('option'); option.setAttribute("value", data[i].name); option.innerHTML = data[i].name; select1.appendChild(option); } document.body.appendChild(div); select1.addEventListener('change', changeSelect1); select2.addEventListener('change', changeSelect2); function changeSelect1(e) { select2.options.length = 1; select3.options.length = 1; val = e.target.value; for (var i = 0; i < data.length; i++) { if (data[i].name === val) { for (var j = 0; j < data[i].items.length; j++) { option = document.createElement('option'); option.setAttribute("value", data[i].items[j].name); option.innerHTML = data[i].items[j].name; select2.appendChild(option); } break; } } } function changeSelect2(e) { select3.options.length = 1; var val2 = e.target.value; for (var i = 0; i < data.length; i++) { if (data[i].name === val) { for (var j = 0; j < data[i].items.length; j++) { if (data[i].items[j].name === val2) { for (var z = 0; z < data[i].items[j].items.length; z++) { option = document.createElement('option'); option.setAttribute("value", data[i].items[j].items[z].name); option.innerHTML = data[i].items[j].items[z].name; select3.appendChild(option); } break; } } break; } } } } </script> </head> <body> </body> </html> 这个题目可以用你的方法,但是如果选项多起来了,就有点麻烦了。可以用上面我写的这个方法,用遍历更好,我用的是creatElement的方式添加option,还有就是题目那个JSON有点问题,我这改了一下。
点赞 回复 分享
发布于 2018-09-21 18:01

相关推荐

10-05 11:11
海南大学 Java
投票
理想江南137:感觉挺真诚的 感觉可以试一试
点赞 评论 收藏
分享
5 45 评论
分享
牛客网
牛客企业服务