📜  阿方索面试经历

📅  最后修改于: 2021-09-23 05:20:58             🧑  作者: Mango

我是通过angelist申请的。当我们通过电话讨论问题时,我被要求在 collabedit 上编写代码。面试官直接跳到技术问题,没有告诉我你自己。

一季度。用你最喜欢的编程语言编写一个程序来计算 power(x, n)。
答:我将问题划分为大小为 (y/2) 的子问题,并递归调用这些子问题。然后他让我进一步优化它。我尝试了 memoization 和 dp,然后他说这里不需要 memoization 因为一个子问题只会解决一次。

Q2。我在上面的问题中使用了 hashmap,然后他问了我关于 hashmap 的内部实现、插入复杂度等。

Q3。哈希图中如何防止冲突,什么是哈希函数等。

第 4 季度。您将获得一个二叉树,以锯齿形形式打印级别顺序遍历。
Ans:我通过先打印级别顺序然后在需要的地方反转来做到这一点。我只需要编写伪代码。我无法向他解释递归。

Q5.问 Javascript-异步编程,NodeJS 中的事件循环,问我以下 JS 程序的输出:-
for(var i=0;i<10;i++)
setTimeout(console.log(i), 10);
如果将 setTimeout 替换为 setTimeInterval 会发生什么?
如果 var i=0 替换为 let i=0 会发生什么(回答:会产生错误)
JavaScript 中的闭包是什么?

Q6. SQL 和 NOSQL 数据库有什么区别?像Mongodb这样的NOSQL数据库的优势?我们可以在 NOSQL 中使用关系数据库吗?

Q7.一些常见问题,例如什么是 MVC、AJAX、HTTP 保持活动状态、git pull 和 git fetch 之间的区别等。

Q8.问了我在简历中提到的问题,比如什么是 k 折交叉验证、AngularJS 等。

接到电话 15 分钟后,我收到一封邮件,说他们没有与我的经验和技能相匹配的好职位。我的面试很顺利,但我认为我缺乏 JavaScript 知识和糟糕的网络连接对面试官产生了负面影响。