11月2日组团招聘及爱用宝笔试总结
今天是2017年11月3日,昨天去参加了长安大学的组团招聘,除了投出去几份简历外,没有太大的收获。其中“中建科技”投了信息化岗位,人家说让回去买两本书:《windows server》和《华为网络设备》,然后学一周准备视频面试,有点慌慌的,还需要进行两次网上测评,有点麻烦。爱用宝,一家不太知名的公司,但起码感觉挺重视的,昨天回来发了两道题让做,然后发给她。下面说一下这两道题吧。
题目1:这是一个9*9的乘法口诀表,是完全用算法生成的,下来请用javascript完成生成一个这样的乘法口诀表,要求和图片一模一样,注意边框,注意字体,注意一切细节,不允许使用table。
代码如下:
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>等腰三角形乘法表</title> 6 <style> 7 .box { 8 text-align: center; 9 } 10 .shownumbers { 11 display: inline-block; 12 width: 51px; 13 height: 17px; 14 font-size: 12px; 15 border: 1px solid #E2E2E2; 16 margin-right: -1px; 17 margin-bottom: -1px; 18 padding: 5px 10px; 19 } 20 </style> 21 </head> 22 <body> 23 <div class="box"> 24 <script> 25 for(var i = 1; i < 10; i++){ 26 for(var j = 1; j <= i; j++){ 27 document.write("<div class='shownumbers'>" + i + 'x' + j + '=' + i*j +' '+" </div>"); 28 } 29 document.write('<br />'); 30 } 31 </script> 32 </div> 33 </body> 34 </html>
不太清楚字体一模一样什么意思,是要 font-family 和 font-size 一模一样还是大致一样就可以。还有padding等是否也都需要一样。
题目2: 通过一个输入框,输入一个自定义的数组,例如 1,4,5,23,2,17,24,10000000。请把他按照中间高两边低进行排序,最后的结果是 1,4,5,23,10000000,24,17,2,算法越准确越好,请注意左右翼数据数据的平衡性。
分析:应该分情况处理,①如果数组中值的个数为偶数,则直接分为两组,第一组从小到大排序,第二组从大到小排序,两组拼接输出。 ②如果数值中值的个数为奇数,则先找到最大的数放到首位,然后分成两组,其他部分大致同上。
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>对数组进行中间高两边低的排序</title> 6 </head> 7 <body> 8 <script> 9 var cont = prompt("请输入一个数组,并用英文输入法下的逗号将值隔开"); 10 var arr = cont.split(","); 11 var arr1 = []; 12 var arr2 = []; 13 var max = Math.max.apply(null,arr); 14 if(arr.length/2%2 !== 0){ // arr.length 为奇数时,需要的操作 15 for (var i = 0; i < arr.length; i++) { 16 if (arr[i] == max) { 17 arr.splice(i,1); // 如果数据组存在该元素,则把该元素删除 18 break; 19 } 20 } 21 arr.unshift(max); 22 for(var i = 0; i < (arr.length+1)/2; i++){ 23 arr1[i] = arr[i]; 24 arr2[i] = arr[i+(arr.length+1)/2]; 25 } 26 }else{ // arr.length 为偶数时 27 for(var i = 0; i < arr.length/2; i++){ 28 arr1[i] = arr[i]; 29 arr2[i] = arr[i+arr.length/2]; 30 } 31 } 32 var arr3 = arr1.sort(function(a,b){return a-b}); //左半部分从小到大排序 33 var arr4 = arr2.sort(function(c,d){return d-c}); //右边部分从大到小排序 34 document.write(arr3.concat(arr4)); 35 </script> 36 </body> 37 </html>
虽然做出来了,但是做的有点慢,思维能力还行,动手编程能力还是有点差,继续加油吧。好好看看js和《现代前端技术解析》。
浙公网安备 33010602011771号