首页 > 快手校招前端一二面面经---8.30
头像
世昕
编辑于 2020-09-06 21:48
+ 关注

快手校招前端一二面面经---8.30

1,项目:和同学一起做。

2,挖掘简历里的点。

图片懒加载:背景颜色作为默认,计算是否进入视区。

利用前端骨架屏:占位
登陆模块:基于正则采用前端格式校验

数字,字母6-16: let reg = /[a-zA-Z0-9]{6-16}/; 学习过,没掌握

减轻服务器压力基于session实现登录态校验和权限校验:和自己无关,同学做的。

使用cookie实现记录部分非敏感用户信息:

阐释cookie知识:(同域携带,跨域时怎么传递?ok. header res , req双向区别ok, 浏览器版本号?服务器怎么获取?不知道,这里候选人先前认为是通过cookie来传递浏览器版本号)

小图片base64:1KB 改成base64后,体积无变化?fail, 用过,但没思考过,其实是变大了。

分离js读写操作:修改+读取dom不要交叉写

3,typeof null: object

typeof typeof null: string

4,<style> .classA { color:blue; } .classB { color:red;} </style> <p class="classB classA">hello</p>元素p内的文字最终什么颜色: ok

5,代码执行分析:2 -》 unfined,函数作用域,变量提升: okvar a = 1; function fn() { console.log(a);
var a = 2; } fn();

6, 实现功能函数'get-element-by-id'转驼峰'getElementById'。 如下:调试了很久。实现比较一般

function trun(str){
  let index,
    str1 = str.split('');
  while((index = str1.indexOf('-'))!==-1){
    //console.log(index);
    let Bigletter = str1[index+1].toUpperCase();
    //console.log(Bigletter);
    str1.splice(index,1,Bigletter);

  }
  return str1.join('');
}

二面:

对象的.和[]的区别。

  1. 点方法后面跟的必须是一个指定的属性名称,而中括号方法里面可以是变量。例如
var haha = "name";
console.log(obj.haha); // undefined
console.log(obj[haha]); // cedric
  1. 中括号方法里面的属性名可以是数字,而点方法后面的属性名不可以是数字
  2. 当动态为对象添加属性时,必须使用 中括号 [], 不可以用点方法

请实现一个js版本的sleep函数,功能为暂停执行。 如: console.log(1); sleep(1); console.log(2); 输出: 1 (1秒钟后) 2

实现一个函数 findLastIndex(), 返回指定数在“有序”数组中最后一次出现位置的索引
如findLastIndex([1,2,3,3,3,4,5], 3), 返回4

实现一个EventEmitter类,支持事件的on,off,emit,once,setMaxListeners

面试官很nice帮助你分析问题,分析不足。

更多模拟面试

全部评论

(2) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐