阿里 前端 CCO 一面(南京)

1. 首先是一道编程题:
/**
* 把对象的 key 从横杠形式(Pascal)转换到小驼峰形式(Camel)
* 时间 25 分钟,可以借助搜索引擎查知识点,但是不要复制大段代码
* @param {any} obj 注意输入可能是任何类型
* @returns {Object}
* @example
* {
*   user_name: 'tom',
*   current_position: 'mid',
*   child_node: {
*     curr_age: 10,
*   },
* };
* 转换后
* {
*   userName: 'tom',
*   currentPosition: 'mid',
*   childNode: {
*     currAge: 10,
*   },
* };
*/
用的是阿里伯乐在线评测系统, 吐槽一下,这玩意不怎么好用,然后我也没有自己做本地调试,一个比较小的错误导致结果不对(主要还是基础太差了,写两天框架就自以为是自己会了,吐槽一下自己)

2. 然后问了一下前端学习情况 (我实事求是的回答了基础比较弱,然后就一直问我基础,不过我的确比较弱hhhh)
3. js基本类型
4. 基本类型和引用类型存在那个区域
5. promise
补充: promise 能不能多次 resove, 如何用promise实现一个setimeout
6. 闭包,项目中有没有用过闭包
7. es, dom 的了解
8.es6 和 es5 相比之下有什么新增
9.let const
10.块级元素和行内元素
11.html 开头的 !documentType 是什么意思
12. vue相关,双向绑定是怎么实现的
13. 输入url 渲染一个界面,经过网络模型中的哪几层,分别有什么作用?
14. 反问
问了一下前端学习路线
大概的回答就是要打好基础
js + html + css 都要看,然后计算机网络也要比较了解,熟悉操作系统相关知识,在了解知识的同时也要动手编程之类的,

总结:问的问题都不是很难的,主要还是我自己基础不行,好好学习,日后再战呗!
#面经##校招##阿里巴巴##前端工程师#
全部评论
第一题写一下自己的思路 function solution (obj) {     let reg = /\_[a-z]/g     let result = {}         for (let key in obj) {             if (typeof obj[key] === 'object&(10249)#39;) {                 obj[key] = solution(obj[key])             }             let newKey = key.replace(reg, res => {                 return res[1].toUpperCase()             })             result[newKey] = obj[key]         }     return result }
1
送花
回复 分享
发布于 2021-03-12 18:19
URL输入到界面渲染完成,经过了网络模型中的哪几层,哪位大哥说一下?
点赞
送花
回复 分享
发布于 2021-03-12 17:23
秋招专场
校招火热招聘中
官网直投
比较好奇cto是部门吗。。cto不是首席技术官吗
点赞
送花
回复 分享
发布于 2021-03-12 17:35
Promise让手写 all吗
点赞
送花
回复 分享
发布于 2021-03-12 17:51

相关推荐

头像
不愿透露姓名的神秘牛友
06-08 20:47
点赞 评论 收藏
分享
1 17 评论
分享
牛客网
牛客企业服务