腾讯秋招前端笔试题:B树、二叉树、内存与硬盘、C++与Web知识

版权申诉
DOCX格式 | 18KB | 更新于2024-08-24 | 17 浏览量 | 0 下载量 举报
收藏
"这份文档是腾讯最新的秋招前端笔试题,包含了多项选择题,涵盖了数据结构、内存管理、编程语法、软件设计模式以及数据库索引等多个IT领域的知识点。" 1. B树是一种自平衡的查找树,用于数据库和文件系统的索引。在5阶B树中,每个节点最多有5个子节点。当插入关键码80后,第二层的节点数会增加1,因为B树保持平衡,所以答案是A,节点数为6。 2. 完全二叉树的性质指出,对于一个具有n个节点的完全二叉树,其叶子节点的数量可以通过n/2向上取整得到。1023个结点的完全二叉树,其叶子节点数为1023 / 2 = 511.5,向上取整得到512,所以答案是B。 3. 计算机地址寄存器为32位,表示最大可以直接寻址的内存空间为2^32字节,即4GB(因为1字节=8位)。虚存最大容量受制于物理内存和地址空间的大小,这里是16GB的内存和32位的地址空间,所以最大虚存还是4GB,答案选A。 4. 这道题考察的是指针计算。结构体st_t包含一个int、一个char、一个short指针和一个长度为8的char数组。st_t类型的数组st[16],每个元素大小为(int + char + short指针 + char[8]) = 4字节 + 1字节 + 4字节 + 8字节 = 17字节。st[2].errstr+8指向errstr数组的下一个字节。因此,p相对于st的偏移量是2 * 17 + 8 = 42字节。但在64位系统上,指针是64位,即8字节,所以(p-(char*)st)除以8后的结果是42 / 8 = 5.25,向上取整为6,所以答案是B。 5. 代码体积膨胀可能由宏定义、模版函数和内联函数导致。宏定义会导致预处理阶段生成大量代码,模版函数在编译时会产生多份实例化代码,而内联函数虽然可以提高效率,但过度使用也会增加编译后代码的大小。lambda表达式不会显著增加代码体积,因为它在编译时会被转换为等效的闭包类,故不选B。 6. C语言中的按位与操作符"&",i=5 (二进制0101),j=7 (二进制0111),i&j的结果是两个数对应位上均为1的位的组合,即0101,对应的十进制值是5,所以答案是C。 7. 跨域问题解决方案包括设置document.domain、使用JSONP、CORS技术和PostMessage。使用ajax技术本身并不解决跨域问题,但JSONP和CORS可以通过ajax请求实现跨域,故不选E。 8. MVC模式在各种开发中广泛应用,描述错误的是:A. MVC并非只用于UIKIT界面;B. 模型并非必须存储在数据库中,可以是任何数据结构;C. 视图不仅限于HTML,也可以是其他输出格式。D描述正确,模型变化时,控制器能驱动视图更新。 9. MVVM是Model-View-ViewModel的缩写,流行框架如angular、react、vue,但bootstrap是一个CSS框架,不涉及MVVM。MVVM的优点在于低耦合、高复用性和可测试性。A和B错误,C和D正确。 10. SQL语句创建了一个名为a1的表,包含id、name和age三个字段,其中id和name被定义为联合索引。这意味着在查询时,针对这两个字段的组合会有优化。

相关推荐