关于面试:记录一次蚂蚁金服的前端面试经历

8次阅读

共计 2362 个字符,预计需要花费 6 分钟才能阅读完成。

坐标成都,大专,4 年前端,分享一次本人在蚂蚁金服的面试经验。

一面

  • 1. 自我介绍

答:我是 XXX, 经验。。。。

  • 2.vue data 响应式的实现

答: 啪啦啪啦说了一大堆,感觉我很兴奋。

  • 3.vue computed 的实现

答: 好吧到这里我就卡住了,因为我过后比拟缓和了,只管我心田不停的劝告本人,而后脑海一片空白。

  • 4. 你在 css 方面的善于?

答: 我善于的是 css 中的定位。

  • 5. 请具体介绍下定位?

答:static,fixed,relative,absolute,sticky,inherit。而后就它们的用法别离做了介绍。

  • 6. 你还有什么想问的吗?

略。

二面

  • 1.webpack 的配置形式和编译过程。

答: 这个题比拟大,我感觉我答的也不是很好。

  • 2. 解析 URL 参数。

我过后的思路就是这样,通过截取到字符串前面的参数,而后通过正则去进行匹配,别离匹配参数名和参数值,它们肯定是匹配到二个数组,而后遍历其中一个数组,就能够了。以下是我面试完之后依据思路实现的残缺代码,当然面试的时候是必定写不到这么残缺的。

    var getURLParam = function(url){let res = {};
        if(url.lastIndexOf("?") === -1)return res;
        let param = decodeURIComponent(url.slice(url.lastIndexOf("?") + 1));
        let keys = param.match(/\w+\=|\=/g);
        keys && (keys = keys.map(k => k.replace(/\=/g,"")));
        let values = param.match(/(\=(\w+|\s*)\&)|(\=(\w+|\s*))/g);
        values && (values = values.map(v => v.replace(/\&|\=/g,"")));
        keys && keys.forEach((k,i) => res[k] = values[i]);
        return res;
    }
  • 3. 实现通用的批量更新策略。
    let notifyFn;
    function fn1(){notifyFn();
        statement1;
        statement2;
    }
    function fn2(){
        statement3;
        notifyFn();
        statement4;
    }
    function fn3(){
        statement5;
        statement6;
        notifyFn();}
    async function onMount(){notifyFn = update(() => {// 在 statement6 执行完之后执行})
        fn1();
        await Promise.resolve();
        fn2();
        await Promise.resolve();
        fn3();}

这道题,我第一次看到的时候是一脸懵逼的状态,齐全看不懂这道题的考察点是什么,只管我问了一下面试官,面试官给我讲了一番,我还是没有听明确。面试官说咱们先跳过这一道题,来剖析下一道题。

  • 4.React 基于单向数据流。对于组件间的通信反对不够好。现须要模仿一个全局的 EventStore。使得能够满足以下条件,以反对组件间的通信。
    class Event {}
// 用法
const loader = new Event();
loader.bind("loaded",event => console.log(event));// 注册事件
loader.trigger("loaded",{ data:"data"});// 触发事件
loader.unbind("loaded");// 登记事件 

这道题,我看着就像是实现一个事件派发器,也给面试官说了本人的实现思路。

  • 5. 你还有什么想问的吗?

略。

一面我其实还是做足了筹备的,二面因为我本人都感觉我的体现不是很好,所以很显然二天后的我就收到了面试没通过的邮件,我详细分析了一番,最初做出如下总结。

面试总结:

我的二面太急迫仓促,没做筹备,而后二面面试也没有很好的体现出本人的亮点和能力,最初问问题一环我居然还没问问题,只是要求面试官可不可以把题记录下来(我本意就想下来钻研一番,尤其是第三题)。

事实上,除了第四题我算是以前写过一个相似的,其余题我都是没有筹备过而临场发挥。因而,我掉分的要害不在于做题,而是我的体现。我间接读不懂题,而后面试官给我讲了一番,我依然没有明确,也没有去思考为什么,所以可能这就让面试官认为我放弃了这道题。

整场二面,我在其余三道题上剖析的还算中规中矩,但在第三道题,我就很慌乱,没有体现出沉着思考的样子,所以这里应该就是我掉分的关键点。

整场蚂蚁金服面试就这样完结了,通过这一次面试也让我晓得了本人的不足之处,那就是很容易缓和,心慌。

作为一个程序员,最应该有的态度,就是不停专研,不惧艰难,遇事从容沉着,临危不乱,能力更好的展示本人。而我并没有做到,所以我将在接下来的工夫好好筹备,充沛晋升本人,我想心愿我能在半年后持续加入面试。

学无止境,路还很长,我还会有很长的路要走。面试过后,通过本人的总结和反思,我终于明确面试官想要考查的不是题的答案自身,而是我有没有解决问题的信心,有没有沉着剖析问题的能力,还有本人的思考和了解。

我每天也在练习一道算法题,督促本人好好学习,并记录下来本人的思路,而后整顿成了文档网站,欢送查看剑指 offer 算法题。

我的开源我的项目一个应用原生 JavaScript 编写的色彩选择器,灵便自定义扩大,批改配置对象还能自动更新 ew-color-picker。

我的文档曾经欠缺了不少,具体介绍了各个 api 的应用,心愿可能我提 issue,这个我的项目还有很多不欠缺的中央。ewColorPicker 文档网站。

我在思否录制上线的课程玩转 typescript1,玩转 typescript2 实用于有肯定根底的前端,还望大家多多反对,谢谢。

正文完
 0