MSRA前端实习面经

先上算法题吧

算法题是最后让写的,先放上来吧:

判断一个二叉树是否构成镜面对称

我直接用了递归,最后有一个单词拼写错误,查了好几次没查出来,最后面试官给提醒了一下,然后AC了,left拼成了lift,都是IDE给惯的毛病😂:

很简单的一道题:

var isSymmetric = function (root) {
    function isMirror (r1, r2) {
        if (r1 == null && r2 == null) {
            return true;
        }
        if (!r1 || !r2) {
            return false;
        }
        return r1.val === r2.val && isMirror(r1.left, r2.right) && isMirror(r1.right, r2.left);
    }
    return isMirror(root, root);
};

面试之前

在学院的群里看到了MSRA的招聘信息,于是就投了,处理的很快,第二天电话就打了过来,说感觉我的背景很好,然后问了一下可以实习的时间,最后约了明天面试。我当天晚上给面试管发了一份详细的简历,包括做的项目,写的文章,包括项目的git地址和正在运作的项目的url都给他贴上去了,然后收到了面试官的英文回复,大概的意思就是非常感谢,然后See you tomorrow!(当时还很害怕,明天不会有英文环节吧🤣)

面试进行时

面试用的是微软的teams(相当难用),进去之后先是自我介绍,然后我提到了我寒假上过院里×××老师的Web课,面试官问是谁,我说×××,面试官说:我跟他同届

竟然遇到了比我大 17 届的直系学长!

面试正式开始:

Question 1: 说一说JavaScript和Nodejs的区别

这个问题我答得还不错,这个问题太过基础,相信每个学前端的都知道,简单的来说,JavaScript最初是为了设计一种能够运行在浏览器上的语言而开发的,且一开始它只能在浏览器上运行,直到2009年,Node被开发出来,给JavaScript提供了一种非浏览器的运行环境,这让JavaScript与其他语言平起平坐了。

Question 2: React项目中的JavaScript是什么环境运行的,浏览器还是Node?
Question 3: 浏览器和Node哪个对JavaScript的版本支持做的更好?
Question 4: Node的包管理,关于import、require怎么看?

这个问题我答的很不好,以后要多看一些这部分的内容,因为JavaScript的运行环境分为浏览器和Node,不同的运行环境下,一些细节的处理会不同,需要我们注意!

Question 5: RESTful标准怎么理解,举例说明?

接口定义、标准资源定义的一种形式,HTTP协议就是RESTful的实现(这个问题也很巧,RESTful是我面试前一天的晚上看的)

Question 6: 列出HTTP的所有method,其中的DELET的应用场景是怎样的?
Question 7: GET和POST的区别,分别应用于哪些场景?
Question 8: 说了一个项目需求,跑批处理任务的一个网站,用户需要提交一些参数,然后发送到后台,任务处理可能要大概需要20分钟,结果再跑完之后返回给前端,这样一个项目,你想怎么去设计?
Question 9: 如果用户提交完,就关电脑了,等回头再登进去,要能看到他提交的运行结果,怎么实现?

我当时第一个想法是用Cookie,然后面试官说,如果换电脑了呢,我回答那样的话只能入库了,然后面试官又顺着往下问了,如果建库,这个表你想怎么搭。

Question 10: React和其它框架的区别,是怎样实现注入的,为什么React项目用户能看到的源码特别少?

这个我知道区别,以及知道为什么React项目用户能看到的源码少,但是不清楚原理,我对React接触太少了,只简单的写过一点点。

Question 11: 刷完那道算法题后,因为正好共享了屏幕,面试管让我打开我的React个人博客项目,提要求,在线改

上述题目是一小部分,还有很多细节也记不清了,算上刷题改代码一共一小时二十分钟

感想

在面试前准备了好多JavaScript基础,比如手写new、apply、call,事件循环,回调,闭包,浏览器对象,浏览器线程的这种东西,这种js基础字节很爱考,但是MSRA没怎么考,更关心我能不能马上就上手大项目,很关心我的项目,而不是基本功。

总之,收获很大,在此祈祷我能顺利通过吧!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值