腾讯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

个人资料
crazybean
等级:8
文章:61篇
访问:15.7w
排名: 5
上一篇: 腾讯2018秋招前端模拟题
下一篇:腾讯2018秋招正式笔试题目
猜你感兴趣的圈子:
腾讯笔试面试圈
标签: 石子、得分、射击、正整数、mvvm、面试题
隐藏