自我介绍
讲一下项目
组件化、工程化、模块化
拆分了哪些组件
模块化方案 :
ES6 与 commonJS 的不同
怎么解决循环引用的问题
项目的后端遇到的问题:保持登录
cookie 在请求中是以请求头的cookie传递的,服务器怎么传给浏览器的?在响应报文的哪里?
讲一下session和cookie
less 与 stylus 的区别
stylus 有哪些 function?有自己封装样式 function吗
add(a,b=a) //只有一个参数也可以计算
a = unit(a,px) //把单位都变成px
b = unit(b,px) //把单位都变成px
return a b a+b //可以返回多个值,通过[0][1][2]调用
li
width add(14px)[0] //14px
height add(14px,20px)[1] //20px
font-size add(14px,20px)[2] //34px
两道算法题
1、括号字符匹配
2、在一个字符串S中查找另一个字符串P
(1) 暴力匹配思路:
- 如果当前字符匹配成功(即S[i] == P[j]),则i++,j++,继续匹配下一个字符;
- 如果匹配失败(即S[i]! = P[j]),令i = i - (j - 1),j = 0。相当于每次匹配失败时,i 回溯到开始匹配的后面一个字符,j 重置为0。
匹配失败时,移动字符串P,移动位数 = 已匹配的字符数 - 最后一个匹配字符的部分匹配值(各个前缀后缀的公共元素的最大长度)
写法就是:i 不变,j 变成最后一个匹配字符的部分匹配值
// 暴力匹配法
var strStr = function(haystack, needle) {
if(!needle) return 0;
var len = needle.length
for(var i=0, l=haystack.length; i<l; i++) {
if(haystack[i] !== needle[0]){ //如果第一个字符就不匹配,跳到下一个字符
continue;
}
//如果第一个字符匹配,取出haystack中指定长度的字串,与needle比较是否匹配
if(haystack.substr(i, len) === needle) {
return i;
}
}
return -1;
};
// JS的方法 indexOf、search
var strStr = function(haystack, needle) {
return haystack.indexOf(needle);
//return haystack.search(needle);
};
// 正则化匹配
http的请求方式除了post、get还有什么?put
post、get的区别
get可以有url参数吗?