2021.12.01 米哈游前端笔试
1.10道单选题,考察css,js基础,但不知道为什么还有c语言的题,不太理解
2.三道编程题(全部ac)
1)有三个数字数组,求每个数组中的最大值,并将这三个值降序排列作为一个数组返回。
图省事就直接sort()了,限定ts语言,但我不会ts,直接js写的,也通过了
function max(a, b, c){ a.sort((a,b) => b-a); b.sort((a,b) => b-a); c.sort((a,b) => b-a); return [a[0], b[0], c[0]].sort((a,b) => b-a); }2)给定一个只包含数字的字符串 s ,用以表示一个 IP 地址,返回所有可能从 s 获得的 有效 IP 地址 。你可以按任何顺序返回答案。
有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔
力扣原题吧,https://leetcode-cn.com/problems/0on3uN/,同样限定ts,我还是js😂
var restoreIpAddresses = function(str) { let list = [], l = str.length; // 直接暴力分割 for (let i = 1; i < 4; i++) { for (let j = i + 1; j < i + 4; j++) { for (let k = j + 1; k < j + 4; k++) { let a = str.slice(0, i); let b = str.slice(i, j); let c = str.slice(j, k); let d = str.slice(k, l); if (check(a) && check(b) && check(c) && check(d)) { list.push(a + '.' + b + '.' + c + '.' + d) } } } } return list; function check(s) { let n = parseInt(s) if (n + '' != s) { return false; } if (n >= 0 && n <= 255) { return true; } return false; } };3)给你一个字符串表达式 s ,请你实现一个基本计算器来计算并返回它的值。
同样力扣原题,hard程度🤐,还好我做过;限定js了,不懂为啥限制前两题语言
var calculate = function(s) { const ops = [1]; let sign = 1; let ret = 0; const n = s.length; let i = 0; while (i < n) { if (s[i] === ' ') { i++; } else if (s[i] === '+') { sign = ops[ops.length - 1]; i++; } else if (s[i] === '-') { sign = -ops[ops.length - 1]; i++; } else if (s[i] === '(') { ops.push(sign); i++; } else if (s[i] === ')') { ops.pop(); i++; } else { let num = 0; while (i < n && !(isNaN(Number(s[i]))) && s[i] !== ' ') { num = num * 10 + s[i].charCodeAt() - '0'.charCodeAt(); i++; } ret += sign * num; } } return ret; };3.前端需求题(秒了)
实现图片上的页面布局,可以原生,也可以利用框架,功能要求也要实现
这不是撞枪口上了吗?实习的时候写过导航树,用过element-ui,这不就是element-ui的el-tree组件嘛哈哈哈😂
具体大家看官方文档吧,我就不献丑了:https://element.eleme.io/#/zh-CN/component/tree