第38篇

1、Javascript实现2分法查找

 1 // 非递归实现
 2 function binary_search(arr, key) {
 3   var high = arr.length - 1;
 4   var low = 0;
 5 
 6   while (low <= high) {
 7     var mid = parseInt((high + low) / 2);
 8 
 9     if (arr[mid] == key) {
10       return mid;
11     } else if (arr[mid] < key) {
12       low = mid + 1;
13     } else if (arr[mid] > key) {
14       high = mid - 1;
15     }
16   }
17 }
18 
19 // 递归实现
20 function binary_search2(arr, low, high, key) {
21   if (low > high) retuen - 1
22   var mid = parseInt((high + low) / 2);
23 
24   if (arr[mid] == key) {
25     return mid;
26   } else if (arr[mid] < key) {
27     low = mid + 1;
28     return binary_search2(arr, low, high, key);
29   } else if (arr[mid] > key) {
30     high = mid - 1;
31     return binary_search2(arr, low, high, key);
32   }
33 }
34 
35 var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
36 console.log(binary_search(arr, 6));
37 console.log(binary_search2(arr, 0, 9, 6));

 2、你所了解到的Web攻击技术?

1)XSS(Cross-Site Scripting,跨站脚本攻击)指通过存在安全漏洞的Wev网站注册用户的浏览器内运行非法的HTML标签或者Javascript进行的一种攻击。

处理办法:【1】过滤特殊字符    【2】使用HTTP头指定类型   w.Header().Set("Content-Type", "text/javascript");

 

2) SQL注入  攻击者向服务器提交恶意的SQL查询代码,程序在接受后错误的将攻击者的输入作为查询语句的一部分执行,导致原始的查询逻辑

被改变,额外的执行撩攻击者精心构造的恶意代码。

处理办法:对进入数据库的特殊字符(‘“\尖括号&*;等)进行转义处理,或者编码转换

 

3)CSRF(Cross-Site Request Forgeries,跨站点请求伪造)攻击者盗用了你的身份,以你的名义发送恶意请求。

 

3、写一个function,清楚字符串前后的空格。(兼容所有的浏览器)

1 if(!String.prototype.trim) {
2 
3   String.prototype.trim = function() {
4   return this.replace(/(^\s+)|(\s+$)/g, "");
5   }
6 }

 

4、有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少走法?

1 function cStairs(n) {
2   if (n === 1 || n === 2) {
3     return 1;
4   } else {
5     return cStairs(n - 1) + cStairs(n - 2);
6   }
7 }

 

5、递归设计。实现一个函数,给该函数一个DOM节点,函数访问其所有子元素(所有子元素,不仅仅是直接子元素),

每次访问子元素的时候,并为其传一个callback?

// 访问一个DOM tree,是一个经典的深度优先搜索的算法

1 function Traverse(DOM, callback) {
2   callback(DOM);
3   var list = DOM.children;
4   Array.prototype.forEach.apply(list, (item) => {
5     Traverse(item, callback);
6   })
7 }

 

posted @ 2019-07-12 10:08  秋风起落叶摇  阅读(130)  评论(0编辑  收藏  举报