4.6 字节飞书一面

自我介绍

讲一下项目

组件化、工程化、模块化

拆分了哪些组件

模块化方案 :

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) 暴力匹配思路:

  1. 如果当前字符匹配成功(即S[i] == P[j]),则i++,j++,继续匹配下一个字符;
  2. 如果匹配失败(即S[i]! = P[j]),令i = i - (j - 1),j = 0。相当于每次匹配失败时,i 回溯到开始匹配的后面一个字符,j 重置为0。

(2) KMP字符串查找算法    阮一峰kmp   kmp代码

匹配失败时,移动字符串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参数吗?

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值