腾讯2018秋招前端正式试题,共勉

在牛客网做过不少面试题目,也得到了不少经验,很感谢这个平台。前两天刚参加完腾讯的面试,这是腾讯前端正式试题,分享给大家,希望对大家有所帮助


一. 不定项选择题


1. 往下面的5B树中插入关键吗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=5j=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. MVVMModel-View-ViewController的简写

B. 流行的MVVM框架有angularreactvuebootstrap

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. undefined2

B. 运行错误

C. 12

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

#笔试题目##秋招##腾讯##前端#
全部评论
请问第四题该怎么解?
点赞 回复
分享
发布于 2018-05-20 14:05

相关推荐

点赞 57 评论
分享
牛客网
牛客企业服务