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

 

 

http的请求方式除了post、get还有什么?put

post、get的区别

get可以有url参数吗?

 

你可能感兴趣的:(实习面经)