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和《现代前端技术解析》。

 

posted on 2017-11-03 22:16  王孟俊  阅读(312)  评论(0)    收藏  举报

导航