共计 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 实用于有肯定根底的前端,还望大家多多反对,谢谢。