阿里-蚂蚁金服-校招 · 第 1 轮 · 一面
← 已是第一轮 · 返回本次面经 · 第 1 轮 → 本轮要点: 本次面试主要考察校招生的基础内容 本轮共 21 道题。答案默认折叠,便于先自行作答。 1. 数组排序:实现一个函数,对包含数字和字符串的混合数组进行排序,数字在前按升序,字符串在后按字母顺序。 题目要点 JavaScript算法。 参考答案 function sortMixedArray(arr) { return arr.sort((a, b) => { const typeA = typeof a; const typeB = typeof b; if (typeA !== typeB) { return typeA === 'number' ? -1 : 1; } if (typeA === 'number') { return a - b; } else { return a.localeCompare(b); } }); } 2. 发布订阅模式:实现一个简单的EventEmitter类,包含on, emit, off方法。 题目要点 JavaScript设计模式。 参考答案 class EventEmitter { constructor() { this.events = {}; } on(event, callback) { if (!this.events[event]) { this.events[event] = []; } this.events[event].push(callback); } emit(event, ...args) { if (this.events[event]) { this.events[event].forEach(callback => { callback(...args); }); } } off(event, callback) { if (this.events[event]) { this.events[event] = this.events[event].filter(cb => cb !== callback); } } } 3. lodash.get实现:实现一个类似lodash.get的函数,安全地获取嵌套对象属性。 题目要点 JavaScript对象操作。 ...