个人情况:非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 + 交互
场景应用:如果类别多、数据大有遮挡该如何解决?
data transformation:
数据采样
visual structure:已有方式——散点图、三维散点图、平行坐标。我研究的方式——。
view transformation:如果以上方式还是会产生遮挡问题,可以采用一些通道编码,如颜色深浅、透明度、大小——表示该位置的相同类型数据的多少;
热力图、透明度、汇合
交互:
在散点矩阵中使用动画来减轻重叠(Using Animation to Alleviate Overdraw in Multiclass Scatterplot Matrices)
数据预处理——数据缺失和异常
异常数据处理
经典可视化图标的优缺点:饼图的缺点;玫瑰图的缺点,视觉干扰是什么
面向对象思维:绘制折线图和柱状图的代码大部分相似,可以写在一个类中。
一个平面n个圆有多少个相交的圆
1 遍历的方法。时间复杂度较高。
2 对每一个圆计算其变上有多少个交点,交点数除以2就位改圆的相交圆的个数。将所有相交个数加起来除以2(2个圆相交会有一个相交个数,遍历后算了两遍),结果为一共有多少个相交的圆。
一面
具体情况:3月16日下午,50min多,可是分析算法工程师,问了非常多科研相关的问题,面试官老师非常专业,谷歌后发现老师还会写歌,超级厉害。