腾讯2018秋招前端正式试题,共勉
1. 往下面的5阶B树中插入关键吗80后,该B树第二层的节点数为(A)。
A. 6
B. 7
C. 8
D. 9
E. 10
2. 设一棵完全二叉树共有1023个结点,则在该二叉树中的叶子结点数为多少?(B)
A. 511
B. 512
C. 510
D. 513
3. 如果内存容量为16G,硬盘容量1T,计算机地址寄存器是32位,则虚存的最大容量以下哪个?(A)
A. 4G
B. 8G
C. 16G
D. 32G
E. 1T
4. 以下代码打印的结果是(假设运行在64位计算机上)?(D)
struct st_t
{
int status;
char bitset;
short *pdata;
char errstr[8];
};
st_t st[16];
char *p = (char *)(st[2].errstr+8);
printf(“%d”, (p-(char*)(st)));
A. 32
B. 64
C. 128
D. 72
5. 下面哪些特性可能导致代码体积膨胀?(ACD)
A. 宏定义
B. lambda表达式
C. 模版函数
D. 内联函数
6. C语言里i=5,j=7,请问i&j等于多少?(C)
A. 12
B. 3
C. 5
D. 7
7. 以下哪些选项,跨域用来解决跨域的问题?(ABCD)
A. 使用document.domain
B. 使用JSONP技术
C. 使用CROS技术
D. 使用PostMessage
E. 使用ajax技术
8. MVC是一种常见的架构。以下描述错误的是(ABC)
A. 只有UIKIT界面开发才能使用MVC
B. 只有能够保存在数据库里面的实体才能称之为模型(Model)
C. 只有以HTML形式显示的页面才是视图(View)
D. 模型变更之后,只有控制器(Controller)才能驱动视图变更或重新渲染视图
9. web框架中关于MVVM,以下说明正确的是(CD)
A. MVVM是Model-View-ViewController的简写
B. 流行的MVVM框架有angular、react、vue、bootstrap
C. MVVM是使用数据绑定基础架构,可以轻松构建UI
D. MVVM优点是低耦合、可复用、可测试
10. 有下表
create table a1
{
id int(11) not null,
name varchar(32) not null,
age int(11) not null,
INDEX (id,name)
}
下面查询中,索引无效的有(A)。
A. select * from a1 where name = ‘Jack’;
B. select * from a1 where name != ‘Jack’;
C. select * from a1 where id = 1 and name like ‘J%’;
D. select * from a1 where id <> 1
11. 请问下列代表的输出事多少?(A)
#include <stdio.h>
int main()
{
int m[] = {1,2,3,4,5,6,7,8,9,0};
int (*p)[3] = (int (*)[3])m;
printf(“%d”,p[2][1]);
return 0;
}
A. 8
B. 3
C. 7
D. 4
E. 数组越界
12. div+css的布局较table布局的说法正确的是(BC)
A. table布局改版的时候更方便,只要改css文件
B. div+css页面加载速度更快、结构化清晰、页面显示简洁
C. div+css布局代码量更少,页面载入得越快
D. table布局易于优化(seo)搜索引擎更友好,排名更容易靠前
13. 在正方体上任取三个顶点连成三角形,则所得的三角形是直角非等腰三角形的概率为(B)
A. 2/7
B. 3/7
C. 4/7
D. 5/7
14. Win32系统里,下面几个sizeof的运行结果是(C)
int intVaule = 1024;
char str[] = “WeChat”;
const char* ch = str;
sizeof(intValue) = __a_;
sizeof(str) = __b__;
sizeof(ch) = __c__;
A. a = 1, b = 1, c = 1
B. a = 4, b = 4, c = 4
C. a = 4, b = 7, c = 4
D. a = 4, b = 6, c = 4
15. 在Linux网络编程中的实现I/O复用的系统调用有(ABC)
A. select
B. poll
C. epoll
D. pselect
16. 以下针对TCP/IP状态中的TIME_WAIT说法正确的是(AD)
A. 主动关闭端进入TIME_WAIT状态
B. 被动关闭端会进入TIME_WAIT状态
C. 通信两端有可能同时进入TIME_WAIT状态
D. TIME_WAIT的超时时间是2MSL
17. 提升网站访问速度,以下正确的做法有哪些?(ABD)
A. 减少网站http请求
B. 对静态js文件进行压缩
C. 进行seo优化
D. 进行cdn托管
18. 下面函数的运行结果是(A)
function foo()
{
return 2;
}
console.log(foo());
A. 2
B. null
C. undefined
D. 都有可能,视乎执行引擎而定
19. 下面函数的执行结果是(A)
function test(){
console.log(a);
console.log(foo());
var a = 1;
function foo() {
return 2;
}
}
test();
A. undefined和2
B. 运行错误
C. 1和2
D. undefined 紧接着运行错误
E. 1 紧接着运行错误
二.
1. 石子合并
时间限制:(每个case)2s 空间限制:128MB
小Q和牛博士在玩一个石子合并的游戏,初始一共有n堆石子,每堆石子有w[i]个石子。小Q和牛博士他们需要对石子堆进行合并,每次他们可以任意选择两堆石子进行合并。一堆有x个石子的石子堆和一堆有y个石子的石子堆合并将得到一堆x+y个石子的石子堆,这次合并得分为x*y,当只剩下一堆石子的时候游戏结束。
小Q和牛博士希望采取优秀的策略获得最大得分,希望你能来帮他们算算最大得分多少。
输入:
输入包括两行,第一行一个正整数n(2<=n<=100)。
第二行包括n个正整数w[i](1<=w[i]<=100),即每堆石子的个数。
输出:
输出一个正整数,即小Q和牛博士最大得分是多少。
样例输入:3
1 2 3
样例输出:11
2. 小Q的排序
时间限制:(每个case)2s 空间限制:128MB
小Q在学习许多排序算法之后灵机一动决定自己发明一种排序算法,小Q希望能将n个不同的数排序为升序。小Q发明的排序算法在每轮允许两种操作:
1、 将当前序列中前n-1个数排为升序
2、 将当前序列中后n-1个数排为升序
小Q可以任意次使用上述两种操作,小Q现在想考考你最少需要几次上述操作可以让序列变为升序。
输入:
输入包括两行,第一行包括一个正整数n(3<=n<=10^5),表示数字的个数
第二行包括n个正整数a[i](1<=a[i]<=10^9),即需要排序的数字,保证数字各不相同。
输出:
输出一个正整数,表示最少需要的操作次数
样例输入:6
4 3 1 6 2 5
样例输出:2
3. 射击训练
时间限制:(每个case)2s 空间限制:128MB
小Q是一个专业的射击运动员,有一天他像往常一样进行n次射击训练,每次设计他都会有一个得分w[i](1<=i<=n)。小Q之前训练都会取最高的四次得分作为最终得分来衡量他的射击状态,但是今天他制定了一个奇怪的规则:
在n次射击得分中取出四次得分a,b,c,d,并且满足a*b*c=d作为最终得分来衡量他的射击状态。
但是小Q发现满足这个条件的(a,b,c,d)可能不止一个,小Q需要你来帮助他计算一共有多少个这种(a,b,c,d)(注意a,b,c,d的相对顺序不能改变)。
如样例所示:
有两种满足的(a,b,c,d),分别是(10,2,2,40)和(2,2,40,160)。
输入:
输入包括两行,第一行包括一个正整数n(4<=n<=500),表示射击的次数。
第二行n个正整数w[i](1<=w[i]<=10^6),表示每次射击的得分。
输出:
输出可以作为最终得分的种数。
样例输入:6
10 2 2 7 40 160
样例输出:2
#笔试题目##秋招##腾讯##前端#