2017年阿里、腾讯前端实习面试总结(转)

经过一个半月的面试,终于在4月21号画上了圆满的句号,顺利拿到了阿里和腾讯前端实习offer,真心感谢这段时间面试官、家人和朋友的帮助和鼓励。下面将会从前端基础、前端框架、http协议、node和其他问题等方面进行总结(以下问题是按照面试时间来排序的,时间过去太久很多问题都不太记得了,只能把记得问题给写下来)。

前端基础

  1. prototype和__proto__的关系是什么
  2. meta viewport原理
  3. 域名收敛是什么
  4. float和display:inline-block;的区别
  5. 前端优化策略列举
  6. 首屏、白屏时间如何计算
  7. 闭包
  8. 作用域链
  9. ajax如何实现、readyState五中状态的含义
  10. jsonp如何实现
  11. 怎么处理跨域
  12. restful的method解释
  13. get和post的区别
  14. 事件模型解释
  15. 编写一个元素拖拽的插件
  16. 编写一个contextmenu的插件
  17. 编写web端cookie的设置和获取方法
  18. 兼容ie6的水平垂直居中
  19. 兼容ie的事件封装
  20. h5和原生android的优缺点
  21. 编写h5需要注意什么
  22. xss和crsf的原理以及怎么预防
  23. css优先级
  24. 如何实现点击radio的文字描述控制radio的状态(通过label实现)
  25. delegate如何实现

框架原理

angularjs

  1. angular的directive怎么写
  2. angular的脏检查(双向绑定)是如何实现的
  3. 依赖注入如何实现
  4. scope如何实现
  5. $parse模块如何实现(主要自己写了一个类似的库)

react

  1. react在setState后发生了什么(直接说了setState源码)
  2. flux解释
  3. 对react有什么了解(直接说了react中虚拟dom内部表示,mount过程源码和同步过程源码)

jsBridge

  1. 如何说服对方使用jsBridge

requirejs

  1. amd和cmd区别,怎么了解到这些区别的,是否是去看了规范
  2. requirejs那些经常用的方法,然后对其进行解释

weex

  1. weex实现大致原理(只写过demo,面试管很好没有难为我,只问了这一个问题)



http协议

  1. accept是什么,怎么用
  2. http协议状态码,302和303的区别
  3. 前端缓存如何实现、etag如何实现、etag和cache-control的max-age的优先级哪个比较高以及为什么、cache-control和expire优先级哪个比较高以及为什么

node

  1. Buffer模块是干什么的
  2. Stream是什么,使用的两种模式
  3. http模块如何将异步处理方式实现成同步处理方式,具体解析请参考http模块如何将异步处理转成同步处理

其他问题

  1. utf8和gbk的区别
  2. 知道页面上某个点的坐标,如何获取该坐标上的所有元素
  3. angular、react和jQuery适合哪些应用场景(建议查看各个框架产生背景)
  4. 7点15分小于180度的夹角是多少
  5. 大数相加
  6. 给5升和6升的水杯如何倒出3升的水
  7. 一班喜欢足球的人60%,喜欢排球的70%,喜欢篮球的80%,求喜欢足球和排球的占多少
  8. 前端异常监测如何实现
  9. 直播点赞按钮的冒泡功能如何实现
  10. js的uglify如何实现
  11. 项目架构、如何带人(自己带过一个小团队)
  12. 前端工程化方面做了哪些东西

面试中的收获

    1. 最开始面试时只阅读过angular源码,阿里一面完后面试官对我说react用的不熟悉没关系,弄懂原理也可以,之后三天疯狂阅读react源码,对于react中虚拟dom内在表示、mount过程、setState的同步过程有了清晰的认识。
    2. 面试官建议去阅读node的http模块和Stream模块源码,其中node-v0.1.100的http模块源码已经阅读完,并且写了一个基于net模块的http模块。node-v6.9.1的Stream模块源码现在还在阅读中。
    3. 初步了解了前端异常监测,并且了解了百姓网、腾讯和阿里在前端异常监测的一些方案和框架。
    4. 阅读了大量前端工程化方面的博文,对前端工程化有了进一步的理解。
    5. 了解了angular和react产生背景。
原文地址:https://www.cnblogs.com/vsmart/p/8890936.html