基本流程:
a. 域名解析;
b. 发起TCP的3次握手;
c. 建立TCP连接后发起http请求;
d. 服务器端响应http请求,浏览器得到html代码;
e. 浏览器解析html代码,并请求html代码中的资源;
f. 浏览器对页面进行渲染呈现给用户
5. 数组快速排序?
思路:
a) 在数据集之中,选择一个元素作为"基准"(pivot)。
b) 所有小于"基准"的元素,都移到"基准"的左边;
所有大于"基准"的元素,都移到"基准"的右边。
c) 对"基准"左边和右边的两个子集,
不断重复第一步和第二步,
直到所有子集只剩下一个元素为止。
var quickSort = function(arr) {
if (arr.length <= 1) { return arr; }
var pivotIndex = Math.floor(arr.length / 2);
var pivot = arr.splice(pivotIndex, 1)[0];
var left = [];
var right = [];
for (var i = 0; i < arr.length; i++){
if (arr[i] < pivot) {
left.push(arr[i]);
} else {
right.push(arr[i]);
}
}
return quickSort(left).concat([pivot], quickSort(right));
};
6. 开发中有哪些常见的Web攻击技术?
a) XSS(Cross-Site Scripting,跨站脚本攻击):
指通过存在安全漏洞的Web网站注册用户的浏览器
内运行非法的HTML标签或者JavaScript进行的一种攻击。
b)SQL注入
c) CSRF(Cross-Site Request Forgeries,跨站点请求伪造):
指攻击者通过设置好的陷阱,强制对已完成的认证用户进行
非预期的个人信息或设定信息等某些状态更新。
7. 正则表达式验证邮箱格式?
var reg = /^(\w)+(\.\w+)*@(\w)+((\.\w{2,3}){1,3})$/;
var email = "yjh@itlike.com";
console.log(reg.test(email)); // true
8. 正则表达式清除字符串前后的空格?
function trim(str) {
if (str && typeof str === "string") {
// 去除前后空白符
return str.replace(/(^\s*)|(\s*)$/g,"");
}
}