记21届秋招前端面经|阿里淘系一面
45m
1.自我介绍.。
2.项目相关。
数据结构
3.排序算法,时间复杂度。最好最坏平均
冒泡,每两个相邻的比较大小交换位置,直至最大的归位,n、n2、n2.稳定
快速,二分选第一个数作为标志,先从后往前找第一个比他小的数,再从前往后找第一个比他大的,交换位置,nlogn、nlogn、n2不稳定
选择排序,每次选出最大的放到末尾。和冒泡区别是做比较不交换,只交换一次。n2、n2、n2不稳定
插入排序,创建新空间,放入第一个元素默认已排序,每次插入从后往前遍历,将未排序数据,比较大小插入。n、n2、n2稳定
4.链表和数组区别,查找时间复杂度。
链表地址空间不连续,数组连续(浪费内存)。
链表查找速度慢(o(n)),数组快(o(logn))随机访问时间复杂度为(o(1))
5.树的存储(内存)。
不知道什么意思,查了一下,应该是什么双亲表示法,孩子表示法,孩子兄弟表示法。
6.二叉排序树的查找,不用递归。
估计就是p=p->leftchild吧,然而面试官好像不是这个意思
7.二叉树变平衡二叉树。(不会)
前端相关(js)
8.模拟jquery选择器,传一串字符串获取对应dom元素。
(“#box .child p”)识别字符串 找到父根节点,然后在父节点孩子中选择出class名为child的节点,如果不唯一就遍历,找p标签
9.闭包及应用场景,后果。
内部函数引用外部函数变量。防抖节流。
IE低版本内存泄漏:变量长期驻扎内存不回收。引出垃圾回收机制。标记清除,遇到闭合环怎么办,从栈根对象开始找,能引用到即为活动对象,进行标记,最后回收没被标记的
10.跨域及解决方案,延伸天猫和淘宝共享登录态。
单点登录,当在第一次A登录时,由于未登录,会重定向到认证中心,在认证中心进行登录验证等等,成功之后,携带一个授权码定向回a页面,并设置认证中心的登录态写入cookie,在A页面服务器向认证中心确认授权码有效,验证之后将登录信息写入cookie(此时客户端下有两个cookie,一个a,一个认证中心的)。在另一个b域名登录时,携带上客户端有个认证中心的cookie,认证中心判断这个已经登录,直接返回授权码到b页面,接下来都一样。当要退出时,加入退出c域名,首先清除c对应的cookie,然后请求认证中心退出登录的api,然后认证中心遍历下发过的授权码的页面,调用退出api。
11.用户第一访问弹窗,一个月内访问不弹。
cookie,localstorage
12.盒模型。
标准,怪异
13.输入url到显示页面。
缓存,dns,tcp,htmldom树,cssdom树,回流,重绘,渲染页面
14.实现数组indexOf,时间复杂度。
还有啥想不起来了,再补充。
#面经#