前端面试题回顾

231 阅读3分钟

广州*和技术公司的面试

  1. 一开始问我的专业,机器人工程,为啥会想来做前端。然后简单介绍了他们公司的业务,要求会Linux基本操作,了解数据的加密和解密,以及网络协议等等。

  2. 有了解过子网掩码吗?

    我:听过但是还没怎么了解....

  3. 前端存储有 localStorage 和 sessionStorage,它们有什么区别?

    我: localStorage是保存在本地硬盘里面的,除非用户主动清理否则会一直存在;而 seesionStorage 是会话存储嘛,当页面关闭的时候,就会清除掉~

    面试官:还有吗?比如大小有限制吗?

    我: 有的,好像最大都是 5MB 左右

    补充:还有 localStorage 是受同源策略限制,同源页面都能够访问;sessionStorage 是当前页面单独存储,即使是相同的两个标签页,新保存的数据也不能互相访问

  4. 之前的实习经历是自己找的吗?还是学校安排的?

    我:阿巴巴

    面试官: 有写过文档吗?。。。

  5. 有涉及过加密解密方面的技术吗?

    我: md5吧.....

  6. http 协议中 get 和 post 方法有什么主要的差异呢?

    我: 当时答的并不算好,有点忘记了.

    get 和 post 只是 http 协议的两种请求方法,在传输上没有本质的差别,不带参数时,仅仅是报文第一行的方法名不同,一个是 get,一个 post;

    在约定中,get 方法的参数拼接在 url 的 ? 后面,多个参数使用 & 分割。例如: http://一二三.com?a=1&b=2,

    并且,get 是用来获取数据的,不会对数据进行修改;

    还有,get 方法获取到的数据会被浏览器缓存下来;

    一般来说,get 请求比 post 请求更快;

    post方法,参数是放在请求体里面,在地址栏上不可见,一定程度上比 get 方法安全

    以及,能够比get方法传递更大的数据以及更多复杂的数据类型,而get有url长度限制。

    还有,post 请求用于复杂操作,如修改或者写入数据等;

  7. 跨域的问题了解吗?

    我:跨域是因为浏览器的同源策略导致的,因此我们可以通过代理服务器来解决,这样就可以绕过浏览器的同源策 略,

    在vue里面可以设置相关的配置文件就可以启动代理服务,或者使用 nodejs 启动一个本地服务器来处理相关逻辑,

    还有可以使用 jsonp ,利用 script 标签的特性跨域,设置callback回调函数处理性格逻辑,缺点是只能使用 get 请求;

    最好的一个处理方案是在服务端设置一个 cors 配置,把请求加入白名单等;

  8. 前端在后端没有处理好的时候可以怎么做?

    我: 使用假数据或者使用一些框架模拟一些接口

  9. 前端技术学习渠道有哪些?

    我:...

  10. 英语四级过了吗?

    我: ...

  11. 假设有这样一种应用场景,后端从一些单片机采集数据,但是不定时产生数据,前端和后端使用什么方法进行通信合理一点。

    我: websocket、轮询

  12. 正则表达式有了解吗? 写一段 IPV4 的正则表达式。

    唉。。。

(?:(?:1[0-9][0-9].)|(?:2[0-4][0-9].)|(?:25[0-5].)|(?:[1-9][0-9].)|(?:[0-9].)){3}(?:(?:1[0-9][0-9])|(?:2[0-4][0-9])|(?:25[0-5])|(?:[1-9][0-9])|(?:[0-9]))
  1. 二分查找了解吧?比如有一个1000长度的整数数组,找某个数,要做什么准备工作?最坏情况是要多少次才知道结果?

    1. 先排序

    2. 二分查找时间复杂度为 O(logn),最坏情况是 O(log2n)