近期前端面试题目(一)

114 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

写出代码:

1、给定一串乱序且可能其中含有重复的字符串,返回第一个字符串中无重复的字符(例:ababcdedg,返回c),要求时间复杂度为n

复盘:indexOf()及循环、map()、filter等函数时间复杂度都已经是n不能一起用

2、青蛙跳台阶问题,给定n阶台阶,青蛙一次只能跳1步或2步,返回共有几种跳法(例:有3阶台阶,青蛙可以1 1 1的跳,1 2的跳 2 1的跳共有三种跳法)

3、vue中父子组件是如何通信的

4、webpack工作原理

5、vue-router工作原理

6、js中异步函数是如何实现的

二面:

1、vue双向绑定原理

2、浏览器是如何解析js的?同步任务、异步任务(宏任务、微任务)分别有什么

3、promise创建后是立即执行的吗,那为什么它属于微任务

promise中的resolve、reject、then是异步的

4、ajax原理,使用过axios,fetch吗

xmlhttprequest

5、讲下对http的理解、http是由什么组成的,请求头、请求体包含什么?

6、讲下udp

7、数组方法有哪些?map属于什么结构

8、讲下虚拟dom,算法了解吗(diff),vue中带key的和不带key的处理有什么区别

9、平时如何做响应式的(@media媒体查询、rem)、rem可以用作设置字体吗,rem默认浏览器是多大?

浏览器默认1rem = 16px , rem可以用作设置字体大小

10、讲下position有几种属性,都是相对于什么定位的?

写出代码:

1、字符串反转(可用库函数

function reverse(str) { return str.split('').reverse().join('') }

2、验证字符串B是否包含在字符串A内(不可使用indexOf())