阿里前端3月27号一面

         23号拿到阿里某部门的内推,线上测试完后,27号晚上收到电话面试。前后面了20多分钟,面试官人很Nice,最后问我有没有要问他的 ,我就问了一下当天晚上的面试评价。面试官说是专业上还不太够,基础能回答80%上来,感谢晚上的参与。后来总结了一下,包括自己的专业课和基础部分,确实有准备不充分的地方。原来想着一面应该能过,今天早上登陆发现已拒绝。回想其实是个很好的经历,之后关注更多的知识点吧。以下给出面试内容:

1、讲一下专业课东西,针对论文。简历里只放了论文名称上去。

     问 人工智能与前端有哪些可以结合的地方?(只讲了论文)

     后回答:天猫旗舰店可以用人工智能来设计

2、如果要拿到对象的全部 key ,可以怎么拿?

     properties / getAttribute 等.. 。 (应该是错的)

3、数组常用的方法有哪些?

       sort map filter reduce indexof 。。。

4、谈一下你对 promise 的了解

      promise 用来解决异步问题,它包括3个状态,pending 、resolve、reject

      设定了一个状态之后就不能再改变。它主要是用于解决 回调地狱的问题,比如在resolve 里定义了以后,可以直接调用

5、Vue 生命周期钩子函数

      beforeCreate、 create、beforeMounted、Mounted、beforeUpdate、Updated、beforeDestroy 、Destroyed

一开始在 vue 的构造函数里会先去找 el 看是否有绑定元素,再看是否有 template ,如果有就构建虚拟节点。经历 beforeCreate、 created ,从这里开始创建虚拟节点,经过 beforeMounted 到 mounted 时,所有虚拟节点都渲染完毕。可以进行事件绑定、样式等操作。如果要修改数据,会 经过 beforeUpdate、Updated ,但是如果要销毁对象,会经过最后两个 beforeDestroy 、Destroyed ,销毁之后对象绑定的所有 事件也都会销毁

 

6、数据库里面,比如有很多班级,但每个班级都有很多条数据,请问如何选出班级的数量?

    不会

7、webpack 里的 loader 了解吗?

      loader 是加载器,webpack 主要用于模块化构建,主要由两部分构成 loader 和 plugins 插件构成,主要用于 压缩合并等功能。

loader 和 plugins 有什么区别?

      不会

答案:webpack 本身只能打包 commonjs 规范里的js 文件,对于其他的图片、css 、字体、sass 文件等不能进行加载。这时就需要对应的loder 将资源转换。所以loader 是直接作用在文件上

在webpack 生命周期中,会出现很多广播事件,plugin 就是监听这些事件,在适合的时机通过 webpack 提供的API 改变输出结果。也就是,在 loader 结束以后,基于事件机制工作,监听打包过程中的节点、执行广泛的任务。

8、闭包了解吗?

     闭包主要用于 封装私有变量,比如在 Amd 规范的 第一个项目 中,就是用 闭包来实现,也可以将闭包中的方法 绑定到 windows 全局对象上,这样在外部就可以使用。但是闭包会造成内存泄漏  

9、== 和 === 有什么区别

       == 主要看数值是否相等,但是它会自动转换类型。比如 数字 和 boolean 比较,会先将Boolean 转换为数字,如果是 数字 和 字符串比较,也会先转换为数字。

         === 主要看类型是否相等,如果类型不等,就直接判为 false

10、浏览器的缓存有了解过吗?

      没有

答案:数据请求的3个步骤:网络请求、后端处理、浏览器响应。如果有缓存的话,可以优化第1、第3 步。缓存的位置:

Service Worker:是浏览器背后的独立线程,但传输协议必须为 https ,可自由控制缓存哪些文件、如何匹配 / 读取 缓存、缓存是连续性的。

Memory Cache :是内存中的缓存,读取高效但是持续性很短,会随着进程的释放而释放。页面一旦关闭,内存缓存也就释放了

Disk Cache :硬盘里的缓存,读取速度慢,但是容量和时效性更好

Push Cache :推送缓存,当以上缓存都没有命中时,才会被使用。也只在会话中存在,一旦会话结束就被释放,缓存时间也短

如果上述4种都没有,只能请求获取资源

11、问一个操作系统的问题,线程、进程.. 忘了

 

12、ajax 底层是如何实现的?

      不了解,只会用

13、前端的 React Angular 那些有了解过吗?

     不会,只会vue 这些

14、css 动画transform 有哪些常用的属性?

       translate 平移 rotate 旋转 scale 缩放 ,

       还有 keyframes 可以实现过渡动画

15、简述一下盒模型。

      标准 width 就是 content 的内容

       怪异 width 包括 content+padding +border

       如何实现?:box-sizing : content-box 实现标准 border-box 实现怪异

16、一般通过什么方法学习的?

       百度前端学院、现在是自己跟课程学习

17、前端安全问题有哪些?

      sql 注入:恶意注入 sql 命令

      xss 攻击:在页面上插入恶意的 h5 标签或 JS 代码

18、http 和 https 有什么区别吗?

        没回答上来,以下是答案:

         HTTP协议通常承载于TCP协议之上,在HTTP和TCP之间添加一个安全协议层(SSL或TSL),这个时候,就成了我们常说的HTTPS。默认HTTP的端口号为80,HTTPS的端口号为443。

19、讲一下快排算法

      在中间取一个数,开头和结尾也取一个数,如果开头的数大于中间的,则交换。如果结尾的数小于中间的,也交换。最后实现从小到大排序。

     回答的不够好!

20、事件的阶段

        事件捕获、处于目标阶段、事件冒泡阶段

21、数组是如何排序的?

         sort() 方法,但是如果数组里的每一项是一个对象呢,如何排序?不会

22、你有用过spring 、springBoot 这些吗?

       之前实习只是用过 mvc ()

       后回答:mvc 只是模式,它不是一个框架。

23、如何解决跨域问题?

      只讲了 meta 里设置 access-Origin 方法

       js 也可以实现跨域问题

       还有项目现在用的 浏览器插件

       如果用户没有装插件呢?

24、前端页面报错有哪些信息

       1、提示 2、成功 3、重定向 4、客户端出错 5、服务端报错

       请说出具体的报错信息,比如 303 和 304 报错有哪些区别等?

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值