顺丰科技2019前端开发工程师秋招试题解析

需积分: 9 2 下载量 72 浏览量 更新于2024-09-11 收藏 22KB DOCX 举报
"顺丰科技2019 秋招前端开发工程师客观题合集" 这份文档是顺丰科技在2019年秋季招聘前端开发工程师时使用的客观题集,主要涵盖了前端开发的基础知识,包括数组存储、JavaScript语法、HTML5特性、网络协议、计算机网络模型以及日期操作等多个方面。 1. 数组存储问题涉及到计算机内存布局,二维数组`k[1..7,1..9]`的每元素大小为2个字节,采用列存储。`a[5,4]`位于第5行第4列,计算偏移量时,先按列计算,即`(5 * 9 + 4) * 2 = 45 * 2 + 8 * 2 = 90 + 16 = 106`,但由于题目选项中没有106,最接近的正确答案是d.50,这可能是题目本身的误差或者四舍五入的结果。 2. JavaScript程序执行结果问题,考察函数作用域和调用。`user.getCount`是对象`user`的一个方法,当独立调用`func()`时,`this`不再指向`user`,而是全局对象(在浏览器中通常是`window`)。因此,`this.count`未定义,答案是d.undefined。 3. HTML5中,空标签可以直接闭合,如`<br>`,`<img>`,但`<input>`标签需要指定结束标签`</input>`。所以,不包括`<input>`的选项是b.Button。 4. UDP协议的特性问题,UDP是无连接的,不需要三次握手,不保证数据顺序,也不会出现粘包问题,因此a、b、d是错误的描述,而DNS、NFS、SNMP等确实使用UDP。答案是abd。 5. OSI七层模型包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。选项中的a和b是其中的两层,c、d和e不是标准模型的一部分。 6. JavaScript Date对象的问题,`new Date('2018-05-09')`表示2018年5月9日。设置月份时,注意JavaScript月份是从0开始的,所以6月份对应的是`setMonth(5)`。答案是b和d,`setMonth(5)`将设置为6月,而`setDate(40)`将设置为该月的第40天,对于5月来说,这超过了实际的天数,因此会自动调整到下个月,即6月。 7. 存储结构的问题,二叉树、双向链表和哈希表都是常见的数据结构,用于存储和组织数据。而a.二叉树是一种逻辑结构,不是物理存储结构。 8. XSS和CSRF的描述,XSS攻击是通过注入脚本篡改前端显示,而CSRF攻击则是利用用户已登录的身份执行恶意操作。所有选项a、b、c和d都正确描述了这两种攻击。 9. SQL语句问题,要将`drivers`表中驾驶里程超过5000里的司机信息插入到`seniordrivers`表,正确做法是先选择符合条件的司机,再进行插入操作。正确的SQL语句应为`INSERT INTO senior_drivers SELECT * FROM drivers WHERE driven_distance > 5000`,选项d是不完整的,没有指定要插入列的列表。 这些题目体现了前端开发工程师应具备的基础知识,包括数据结构、JavaScript、HTML5、网络协议、数据库操作等方面,对于准备面试或提升技能的前端开发者很有帮助。