阿里前端工程师面试题+解题思路

公司 | 阿里

地点 | 杭州

职位 | 前端开发工程师

一面(提前批)

①介绍下自己的项目

②AngularJS和React、Vue有什么区别?结合开发经历描述。

这个纯看理解和个人发挥了,面试官估计仔细看了我的简历,三个框架都用过所以这么问。

当时扯了很久关于框架的见解,在这种方面,千万不要背MVC或MVVM之类的概念。

③项目中遇到什么问题,如何解决的?

④Node.js用过么,讲一讲。

用的不多,就把Node的事件循环讲了下,nextTick和setImmediate跳出来讲了讲。

⑤平时用哪些渠道进行学习?

二面突击面试,不约时间,11点来电就直接开始了。

这种没有准备的情况下一定要冷静,可以先让面试官稍等片刻自己准备下设备,同时调整下状态。

①近两年在前端领域有什么成果和贡献?

很有魄力的问题,突击面试外加上来就丢这个问题很有压迫感。讲了自己release的项目,实验室的项目,社区博客(开始学前端就在写CSDN博客,近期迁到掘金)分享,flutter等等。

②请讲讲三大框架为何会产生?

很宽广同时又很精确的主观题,从前端技术史讲起,各大公司的立足点和开发诉求。

③你对前端框架的发展方向有什么自己的见解?

很广泛,从动态化,兼容性入手,有时间想谈谈新编码下的JIT和AOT。

④玩过IOT一类的嵌入式开发吗?

玩过树莓派,以前在学校搞过小车竞赛。

⑤解决过哪个技术问题最令你大呼过瘾?

技术上从0到1最痛快,比如在一张白纸的情况下完成Google OAuth2.0认证,调通接口。

⑥你在技术方面最佩服或最感谢的身边人。

⑦你有什么想向我了解的?

问了很多问题,关于淘系现在的结构组成,阿里在Flutter、BFF、Serverless方面的生态建设,还问了下当天淘宝IOS出现的S1级事故。学到了很多。

三面面试官是P9的前端团队大leader,什么都会,什么都比你深,只能稳住别慌,尽力发挥。

①讲一下你价值最大的一个项目。

讲了大三实习的项目AngularJS+.Net Framework。

②我看见你还用Flutter,讲一讲Flutter的原理吧。

底层有一个用于跨端的嵌入层,中层用C++实现自绘引擎,封装成dart ui库,上层用dart开发,对象化组件化。

③Flutter和ReactNative比,性能孰优孰劣?

RN首屏性能相对弱,组件重绘代价大,JSBridge涉及进程切换,这个固有代价导致RN的渲染性能弱于Flutter,所以RN才有了架构重建计划,将JSBridge替换为JSI。

④微信小程序的结构和原理又是什么样的?

回答得不好,印象中的小程序也是和RN类似的派系,但是底层实现ui的方式我犯迷糊了。

⑤现在的Flutter肯定是直接不能用于大项目开发的,你觉得它的瓶颈在何处?

讲讲Flutter在状态管理方面的不足,提到了大厂在Flutter方面的定制。

⑥你有什么要问我的?

赶紧问下之前小程序原理的问题,面试官说上层是用html,js那套web跑在浏览器内核(如V8,JSCore等),再往下层是用webview,外加一些native code实现对webview做得不太好的组件的补充。

还问了一直关注的severless问题,面试官高屋建瓴,分两点进行教学:

基础设施方面

云原生的支持必须达到足够高的稳定性,满足扩容收缩等硬性要求才能将关键基础链路演化为severless,目前还存在一定差距,不过一些非关键业务链路已经完成迁移。

人的方面

应用工程师得拥有该方面的维护技术和解决问题的能力。虽然还有很多细节不甚理解,但认真听完还是收获满满。

四面(交叉面,钉钉)

①你收获最多的项目是什么?

大三外企实习项目,全栈开发,让我对架构和服务化甚至是敏捷开发的项目把控和工程实践有了不少的体验和理解。

②项目中使用websocket开发,在和后端对接之前如何进行开发?

这个问题被问住了,因为项目比较小前端用完mock数据,甚至连mock服务器都没有就直接和后端对接,后端推送数据也是在前端直接查看,就老老实实和面试官交流了一阵。

③关于网站性能优化问题,SPA过大导致首屏时间太长怎么解决?

性能优化问题我一直没有特意去“背诵”,毕竟自己的项目都没到前端性能的瓶颈。谈了谈懒加载、打包策略。

④如果老板和你说网站首屏加载时间太长,但不知道什么原因,你如何一步步定位并解决问题?

先要定位问题,打开控制台看timeline,如果那些阶段占用过长时间就会有长条的瀑布图显示。结果面试官追问如果timeline看起来很正常怎么办?我只能回答可能出现页面报错,js文件出错没能正确进行一些dom操作,导致元素没有正常显示。

⑤如果某个js文件必须在header中被加载,而它又操作了body中才有的dom元素,怎么办?

可以在该js文件之前加一个适配的js文件,手动append一个可供该文件选择的dom元素,然后再页面onload之后删除适配该元素。

HR

①目前的offer有哪些,想如何选择?

②你做前端的目标是什么?

③在学校的学习成绩怎么样?

④对工作地点有要求吗?

这些问题不能乱讲,想稳拿offer就老实回答,以上。

以上就是今天的面试经验分享希望对大家有帮助~

兵法有云,知己知彼,方能百战不殆。跳槽季又来了,如何在千万求职大军中碾压众人?

黑马程序员视频号出了一个专题【程序员求职跳槽指北】!

里面都是黑马老学长和学姐的实战技巧,他们的薪资涨幅高达100%,这样的实战经验你想要吗?

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值