亚马逊前端开发人员面试题

第一面:


1、问你知不知道javascript的closure的概念,问你如何利用其实现一个私有的不能被外界访问的变量;
2、问你关于doctype的概念,以及浏览器如何实现这些doctype
3、http的verb种类,以及get和post的区别和工作流程;
4、在你之前的项目中如何实现前端代码的优化;
5、编写一个简单的javascript程序,需要你使用array.prototype.join这个函数实现一个函数spam(n)其输出为n个相连的"hue"组成的字符串;
6、编写一个javascript程序,需要你实现一个功能就是点击一个页面上的按钮,按钮上的计数器加一的同时生成一个新的按钮,新的按钮上的计数器值为0,接着你可以任意点击这两个按钮中的其中一个相应地增加它计数器的数值并且同时生成第三个按钮,一直这样继续下去;
7、如果突然之间你的网站从某一个源头上得到了原来两倍以上的流量,你要如何处理
8、如何实现SEO
第二面:
算法题:
询问了c++中的smart_pointer的实现机制以及java中garbage collection的实现机制
https://oj.leetcode.com/problems/largest-rectangle-in-histogram/   要求O(N)复杂度
第三面:
算法题:
用邻接表和邻接矩阵表示图结构之间的区别,用构造函数来初始化相较于用成员函数来初始化变量的优势在哪儿?
第四面:
HR面试,问你在各种不同压力情形之下的应对法则;
第五面: 
https://oj.leetcode.com/problems/longest-valid-parentheses/
如何设计一个两列的data grid,第一列是一列checkbox第二列是一列数字,最底层是一个数字,表示所有勾了checkbox的数字之和,并用最优的方式实现;
程序设计如下(直接将下列代码复制黏贴到文本文件中然后用浏览器打开即可工作):


1
2
3
0


4
5
6
0






总结:


算法问题都不难,但是因为我申请的是前端开发人员,所以很多牵涉到前端开发技术的问题我都不是很熟,所以面试的很失败,如果你是一位对前端开发颇有经验的人,然后有一定的算法和数据结构能力,过这种面试难度不大,anyway写出来给大家分享经验了。

你可能感兴趣的:(面试题)