广联达提前批前端笔试(更新二面)
楼主又来更新二面了:
1. 自我介绍
2. 本科学校及本科专业,为什么想要考计算机
3. 跨考中的困难
4. 举一个实际例子说明自己最有成就感的事
5. 职业规划和城市选择
2. 本科学校及本科专业,为什么想要考计算机
3. 跨考中的困难
4. 举一个实际例子说明自己最有成就感的事
5. 职业规划和城市选择
楼主来更新了,一面情况:
1. 自我介绍
2. 介绍项目,觉得哪些地方得到了学习提高
3. 说说redux如何设计的(简单说了下单向数据流模型)
4. 常用的ES6+的新特性(说了下class,promise,async/await,数组新方法,结构语法)
5. forEach和map区别(forEach不产生新数组,map返回新数组,是纯函数)
6. 说说promise的理解(解决回调地狱硬编码问题、控制反转)
7. 为什么有了promise还要出现async/await(promise对错误的catch不是try/catch方式,另外async/await可以写出同步样式的代码,更友好)
8. 为什么async/await要成对出现,只有await可以吗?(不可以,但我忘了为什么不可以,后来楼主查了下,可以参考https://www.zhihu.com/question/308089255)
9. 浏览器事件循环(讲了下从没有宏任务,到通过消息队列添加宏任务,再到单队列的弊端引入多条队列,宏任务我答错了一个)
10. nodejs的事件循环(node有6条宏任务队列,且node11之前和之后的执行顺序有区别)
11. js的数据类型(基本number, boolean, string, null, undefined, Symbol, BigInt,引用 object)
12. 基本数据类型和引用数据类型区别(基本数据类型在执行上下文保存的是指,引用数据类型保存在堆中,执行上下文里保存该对象对应堆的地址)
13. 深拷贝(采用递归,判断如果是基本数据类型直接返回,如果是引用类型则根据类型不同进行判断,简单对象其实也可以用JSON序列化和反序列化)
14. 反问
60个选择题➕一个编程题
选择题其中40个包括10个行测,20来个解方程组,10个阅读理解然后算算人口百分比之类的,混杂着图表题,反正一个选择题贼多字,肯定比高考满分作文还写得多得多。
贵司招公务员呢?😅😅😅
补充下编程题LED灯的那个
设置灯管编号分别为
0
5 1
6
4 2
3
那么每个数字下标对应位置的灯管,构成一个长度为7的数组,1表示亮灯,0表示不亮灯。
例如数字8的数组为全1,因为灯全亮
数组1的数组为[0, 1, 1, 0, 0, 0, 0],表示1和2位置的灯亮
const map = { start: [0, 0, 0, 0, 0, 0, 0], 0: [1, 1, 1, 1, 1, 1, 0], 1: [0, 1, 1, 0, 0, 0, 0], 2: [1, 1, 0, 1, 1, 0, 1], 3: [1, 1, 1, 1, 0, 0, 1], 4: [0, 1, 1, 0, 0, 1, 1], 5: [1, 0, 1, 1, 0, 1, 1], 6: [1, 0, 1, 1, 1, 1, 1], 7: [1, 1, 1, 0, 0, 0, 0], 8: [1, 1, 1, 1, 1, 1, 1], 9: [1, 1, 1, 1, 0, 1, 1], } function main(s) { let count = 0, prekey = s[0], curkey // 从start到第一个数 for (let i = 0; i < map[prekey].length; i++) { if (map[prekey][i] === 1) count++ } for (let i = 1; i < s.length; i++) { curkey = s[i] for (let k = 0; k < map[curkey].length; k++) { if (map[prekey][k] !== map[curkey][k]) count++ } prekey = curkey } return count } let s = '102' console.log(main(s))