七面阿里前端工程师全过程,已经上岸天猫超市

个人情况:非C9的985本硕,数据可视分析方向,项目包括科研、前端、iOS

面试时间:3月15日实习申请,4月26日晚上10点收到实习生录用意向书。

面试情况:第一个部门面试四次,评级B+未能入选;第二个部门面试三次,成功上岸。

面经记录:由于没有录音,且面试的时候问题大部分根据项目展开,面经的题目并不齐全,但是我会在最后整理出面试的知识点。

「天猫超市」

七面

具体情况:4月22日晚上,1个小时,两位技术面试官,一位HR老师。科研项目介绍的时候可能不是很能引起技术面试官的兴趣,考察除了技术基础还包括了一些场景问题,HR老师的问题会考察我的校园生活和个人性格、不足等。最后未来leader非常耐心的介绍了一些组内的技术栈。

项目介绍,难点和优化部分。
跨域请求JSONP的实现原理?服务器http header实现跨域?
CDN是什么?如何实现该功能?
Java的内存机制是什么?
介绍MVC模式,react和MVC模式的关系?
HTTP请求的流程?DNS解析的过程?浏览器的缓存存在哪里?
情景题:设计师给出设计图,如何100%还原设计图?如何布局?

六面

具体情况:4月21日晚上,54min,交叉面。这次面试不是很理想,部分问题没能回答好,但是在最后面试官老师提出了非常多的阿里前端的必备技能。

建议:需要了解服务端中的数据库、node等,缓存处理高并发的请求,跨域要非常了解,前端工程的优化等

ES6的set和map。
组件之间的通信?react是否可以实现基于事件 event的组件通信?
前端如何上传图片至服务器?
如何跨域?
304状态码的过程?
浏览器渲染过程?

五面

具体情况:4月17日晚上,1h15min,组长面,组长非常耐心的介绍了新部门和岗位职责,同时给我的面试提出了一些建议。

建议:前端基础知识;性能:操作系统、CPU;框架及相应的工具webpack、babel;客户端+前端

canvas和svg区别
D3.js和antV的区别?
react的性能优化

「数据中台」

四面

具体情况:3月26日晚上,54min,交叉面,Echart作者林峰老师,从基础到项目都很细致的对我进行了考察。

数学问题
数据结构:数据结构的理解
算法:排序的场景

三面

具体情况:3月25日中午,58min,来自北京的交叉面面试官老师。面试官老师的基础问题部分没说好,还好最后老师对项目比较感兴趣,最后也是关于建议和学习跟我聊了10min左右,非常耐心。

数据结构:为什么需要二叉树?B+树?跳表?
操作系统:进程通信方式?拥塞。
数据库:了解的数据库?
算法:找出小于k的所有质数

二面

具体情况:3月20日中午,1h多,组长面,是知乎上的流形大神,问了非常多可视化的场景问题。最后评价是可视化算法基础比较好,项目能力需要提高。

可视化项目,及相关展开
可视化的流程

data transformation、visual structure、view transformation + 交互

场景应用:如果类别多、数据大有遮挡该如何解决?
  1. data transformation:

    数据采样

  2. visual structure:已有方式——散点图、三维散点图、平行坐标。我研究的方式——。

  3. view transformation:如果以上方式还是会产生遮挡问题,可以采用一些通道编码,如颜色深浅、透明度、大小——表示该位置的相同类型数据的多少;

    热力图、透明度、汇合

  4. 交互:

在散点矩阵中使用动画来减轻重叠(Using Animation to Alleviate Overdraw in Multiclass Scatterplot Matrices)

数据预处理——数据缺失和异常
异常数据处理
经典可视化图标的优缺点:饼图的缺点;玫瑰图的缺点,视觉干扰是什么
面向对象思维:绘制折线图和柱状图的代码大部分相似,可以写在一个类中。
一个平面n个圆有多少个相交的圆

1 遍历的方法。时间复杂度较高。

2 对每一个圆计算其变上有多少个交点,交点数除以2就位改圆的相交圆的个数。将所有相交个数加起来除以2(2个圆相交会有一个相交个数,遍历后算了两遍),结果为一共有多少个相交的圆。

一面

具体情况:3月16日下午,50min多,可是分析算法工程师,问了非常多科研相关的问题,面试官老师非常专业,谷歌后发现老师还会写歌,超级厉害。

高维数据可视分析研究有哪些?
t-SNE没回答完整。
子空间聚类?

知识点

计算机基础

前端知识

可视化