阿里巴巴CBU技术部 前端实习一面凉经

面试时间:2021年7月13日 16:30
面试形式:在线网站写算法题+电话面试
面试时长:40min笔试+35min面试
面试感受:这种形式第一次见,到面试时间点,面试官给我的邮箱发一个测评网站,给我打电话让进入这个系统,给40分钟时间做三道题,可以使用本地IDE再粘贴上去,但是他可以实时看到系统界面。40分钟后打电话让讲讲算法的思路,讲了好一会儿我以为面试结束了,结果说现在我们正式开始面试吧 : ( 我还是太菜了,很多问题回答不上来,秋招再来试试吧。面试官态度很好,一直说没关系,试图找到一个我可以回答上来的问题,笑死根本找不到🤣

面试题目
一、算法题
1.
/**
* 找出数组中第k大和第m大的数字相加之和
* 说明:实现一个方法,找出数组中第k大的和第m大的数字相加之和
* 示例:
*   let arr = [1,2,4,4,3,5], k = 2, m = 4
*   findTopSum(arr, k, m); // 第2大的数是4,出现2次,第4大的是2,出现1次,所以结果为10
*/

2.
/**
* 实现一个节流函数
* 节流是JS中重要的概念,尝试实现一个节流函数——它返回一个新函数,新函数即时连续多次执行,
* 但也只限制在`wait`的时间执行一次。并要求此节流函数第一次运行就会执行fn
*/
const throttle = (fn, wait) => {

}

3.
/**
* 获取嵌套数组深度
* 说明:给定一个带嵌套的数组,实现一个方法可获取嵌套数组的最大深度,
*   数组无嵌套子数组,则返回0,有一层嵌套子数组则1,依此类推。
* 示例:
*   getArrayDeep([1, 2, [3, [1, [0]]]]); // 返回 3
*   getArrayDeep([]); // 返回 0
*   getArrayDeep([[[[]]]]); // 返回 3
*   getArrayDeep([0, [2], [2, [3]]]); // 返回 2
*/

function getArrayDeep(a) {

}

讲算法思路额外问到的问题:
快排在最好情况和最坏情况下的时间复杂度是怎样的
apply和call有什么区别

二、面试题
1.作用域和作用域链
2.浏览器垃圾回收
3.宏任务、微任务
setTimeout(()=>{
console.log('2')
})
new promise().then(()=>{
console.log('3')})

console.log('4')
执行结果是什么?
4.Hook为什么不能用在if语句或循环中
5.dom元素写ref=XXX是什么意思
6.CSS画一个边长小于1px的线段或div怎么实现
#实习##面经##前端工程师#
全部评论
你好,请问第四个hook该怎么说呢,我没找到想要的答案
1 回复 分享
发布于 2021-07-16 21:45
可以资料准备的全一些,毕竟是电话面,可以看看资料😆
点赞 回复 分享
发布于 2021-07-15 08:40
阿里巴巴新零售事业群CBU技术部
点赞 回复 分享
发布于 2021-07-15 10:45
同学有兴趣加入我们字节跳动幸福里前端团队吗?🤗无论实习, 校招还是社招, 我们都急缺人才~部门目前处于扩张期, hc 多多, 越早加入越有机会成为团队核心成员🤔~即使新同学基础不好也没关系, 入职后部门会安排一个月的筑基计划培训🤗; 团队工作氛围良好, 定期有大佬分享技术🤩, 工作强度适中, 不鼓励加班🤨; 团队base 北京 / 上海, 对前端技术栈要求不限, vue/react 均可, 心动的同学快快把简历投给我吧~内推免笔试哦!
点赞 回复 分享
发布于 2021-07-15 10:47
这时候面算实习吗?还是提前批?
点赞 回复 分享
发布于 2021-07-17 21:30

相关推荐

威猛的小饼干正在背八股:挂到根本不想整理
点赞 评论 收藏
分享
评论
2
35
分享
牛客网
牛客企业服务