热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

公司|阿里地点|杭州职位|前端开发工程师一面(提前批)①介绍下自己的项目②AngularJS和React、Vue有什么区别?结合

公司 | 阿里

地点 | 杭州

职位 | 前端开发工程师

一面(提前批)

①介绍下自己的项目

②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%,这样的实战经验你想要吗?

 


推荐阅读
  • 网络请求模块选择——axios框架的基本使用和封装
    本文介绍了选择网络请求模块axios的原因,以及axios框架的基本使用和封装方法。包括发送并发请求的演示,全局配置的设置,创建axios实例的方法,拦截器的使用,以及如何封装和请求响应劫持等内容。 ... [详细]
  • 从零基础到精通的前台学习路线
    随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ... [详细]
  • wpf+mvvm代码组织结构及实现方式
    本文介绍了wpf+mvvm代码组织结构的由来和实现方式。作者回顾了自己大学时期接触wpf开发和mvvm模式的经历,认为mvvm模式使得开发更加专注于业务且高效。与此同时,作者指出mvvm模式相较于mvc模式的优势。文章还提到了当没有mvvm时处理数据和UI交互的例子,以及前后端分离和组件化的概念。作者希望能够只关注原始数据结构,将数据交给UI自行改变,从而解放劳动力,避免加班。 ... [详细]
  • JavaScript和Python是用于构建各种应用程序的两种有影响力的编程语言。尽管JavaScript多年来一直是占主导地位的编程语言,但Python的迅猛发展有 ... [详细]
  • 安装npm  vue脚手架搭建vue项目
    vue安装最全步骤、脚手架搭建环境1.首先查看是否安装node.js因为整个vue环境里边的npm是基于node的.查看方式是在命令窗口中查看版本快捷键windowR输入nod ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • 数字账号安全与数据资产问题的研究及解决方案
    本文研究了数字账号安全与数据资产问题,并提出了解决方案。近期,大量QQ账号被盗事件引起了广泛关注。欺诈者对数字账号的价值认识超过了账号主人,因此他们不断攻击和盗用账号。然而,平台和账号主人对账号安全问题的态度不正确,只有用户自身意识到问题的严重性并采取行动,才能推动平台优先解决这些问题。本文旨在提醒用户关注账号安全,并呼吁平台承担起更多的责任。令牌云团队对此进行了长期深入的研究,并提出了相应的解决方案。 ... [详细]
  • node.jsurlsearchparamsAPI哎哎哎 ... [详细]
  • 一:跨域问题1、同源策略(浏览器的安全策略)    只允许当前页面朝当前域下发请求,如果向其他域发请求,请求可以正常发送,数据也可以拿回,但是被浏览器拦截了  2、c ... [详细]
  • RN即ReactNative基于React框架针对移动端的跨平台框架,在学习RN前建议最好熟悉下html,css,js,当然如果比较急,那就直接上手吧,毕竟用学习前面基础的时间,R ... [详细]
  • MVC就是model模型control控制view视图把web开发的分工明确各施其职,互不干涉在MVC模式中,三个层各施其职,所以如果一旦哪一层的需求发生了变化,就只需要更改相 ... [详细]
  • MVC下Log4Net的配置和使用
    MVC下Log4Net的配置和使用对于网站来讲,我们不能将异常信息显示给用户,Log4Net用来记录日志,可以将程序运行过程中的信息输出到文件,数据库中等地方,可以通过日志查看系统的运行过程,发现系 ... [详细]
  • java和servlet交互,JSP与Servlet之间的交互,传值
    一.Servlet首先要明白一点,servlet需要容器的支持才能够运行,如Tomcat、jetty达到servlet的请求,需要ServletRequest对象和S ... [详细]
  • 前言:原本纠结于Web模板,选了Handlebars。后来发现页面都是弱逻辑的,不支持复杂逻辑表达式。几乎要放弃之际,想起了Javascript中ev ... [详细]
  • 1、前端代码需要引入:element.min.cssvue.min.jselement.min.jsaxios.min.js  nuget里面可添加 ... [详细]
author-avatar
手机用户2502858383_827
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有