本文主要是介绍滴滴一面|前端开发工程师|滴滴顺风车部门,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
首先是自我介绍,然后问我js,css,算法哪个学的好一点,我说js。然后问我算法怎么样,我说一般。
然后就开始给我面试我的js基础
js
这次面试都是代码题,所以直接贴代码啦
第一题
Object.prototype.a='a';Function.prototype.a='a1';function Person(){};var didi = new Person();console.log(didi.a); console.log(Person.a);console.log(didi.__proto__.__proto__.constructor.constructor);
我第三个没有回答出来,原型链还要好好学习;解释什么是原型链;
第二题
function bar(){console.log(myName);}function foo(){var myName = 'xiaojv';bar()}foo()var myName='didi';
这个设计变量提升的知识,也没学好;
第三题
<body><button id="test">test第三题</button></body>
<script>
//点击按钮有反应吗,为什么,怎么解决$('#test').click(function(argument){console.log(1)});while(true){console.log(Math.random());}setTimeout(()=>{console.log(1);})
</script>
这个主要是eventloop的知识,宏任务微任务的执行顺序;
第四题
var Object={a:5,method:function(){console.log(this.a);// }}var b = Object.method;// var b = Object.method.bind(null);// Object.method.call(null);b();
这个后面又问了bind,call,apply的区别;
又让讲了 foreach,for…in… for… of 的区别;
算法题
1.算出0-100之间学生的学生等级,如90-100为等级1,0,890为等级2以此类推。不允许使用if switch等;
答案:例如这个数为82,需要算出2;
82/100=0.82;
1-0.82=0.18;
0.18*10=1.8
1.8=》2
2.字符串算式
题目:一个字符串‘2*7-1/3+3*3’,求计算值
这个让手写代码。写了但是没考虑多种情况的概率;
反问
让面试官提出自己的不足。
面试官说我js基础不太好,算法需要坚持练习。
总体来说,这个面试官比较看重js基础知识。挺好的,每次遇到我没回复的出来的问题就帮我推理解答。继续学习~
这篇关于滴滴一面|前端开发工程师|滴滴顺风车部门的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!