1 自我介绍
2 写题:实现一个函数,判断一个字符串是否为回文串。
function isPalindrome(str){ str = str.replace(/\s/g, '').toLowerCase(); let left = 0; let right = str.length - 1; while(left < right){ if(str[left] !== str[right]){ return false; } left ++; right --; } return true; } console.log(isPalindrome('racecar')); // true console.log(isPalindrome('hello')); // false
3 深拷贝是什么?如何实现:
function deepClone(origin, deep){ let obj = {}; if(origin instanceof Array){ obj = []; } for(let key in origin){ let value = origin[key]; obj[key] = (deep && typeof value === 'object' && value !== null) ? deepClone(value, deep) : value; } return obj; }
4 JSON.parse(JSON.stringify())实现深拷贝有什么问题?
5 https的加密过程如何实现?
6 用过Typescript吗?为什么会出现Typescript?
7 实习期间做过什么项目?说两个谈谈
8 现在有一个web端页面,性能较差,你会从什么角度去分析和提升性能?
9 做过h5页面和pc端页面吗?
10 你如何学习前端知识?
11 实习中谈到的开发组件库项目,具体开发的组件以及实现的逻辑是什么?有什么困难,你是如何解决的?
12 工作中遇到沟通问题你如何解决?
13 反问环节
35分钟结束面试,难度适中