腾讯WEB前端笔试题和面试题答案

smt168 分享 时间: 收藏本文

【简介】感谢网友“smt168”参与投稿,以下是小编为大家准备的腾讯WEB前端笔试题和面试题答案(共11篇),希望对大家有所帮助。

篇1:腾讯WEB前端笔试题和面试题答案

腾讯WEB前端笔试题和面试题答案

一、 耐心填一填!(每空4分,共24分)

1. 为span设置类a与b,应编写HTML代码_________,

2. 设置CSS属性clear的值为_both___________时可清除左右两边浮动。

3. ____li________标签必须直接嵌套于ul、ol中。

4. CSS属性_____margin_______可为元素设置外补丁。

5. 设置CSS属性float的值为___none_________时可取消元素的`浮动。

6. 文字居中的CSS代码是____text-align:center________。

二、 精心选一选!(每题4分,共16分)

1. 下列哪个样式定义后,内联(非块状)元素可以定义宽度和高度( C )

A. display:inline B. display:none C. display:block D. display:inheric

2. 选出你认为最合理的定义标题的方法( C )

A. 文章标题

B.

文章标题

C.

文章标题

D. 文章标题

3. br标签在XHTML中语义为( A )

A.换行 B.强调 C.段落 D.标题

4. 不换行必须设置( AC )

A.word-break B.letter-spacing C.white-space D.word-spacing

5. 在使用table表现数据时,有时候表现出来的会比自己实际设置的宽度要宽,为此需要设置下面哪些属性值( AD )

A. cellpadding=”0″ B. padding:0 C. margin:0 D. cellspacing=”0″

三、判断对或错!(每题4分,共24分)

1. CSS属性font-style 用于设置字体的粗细,

( × )

2. CSS属性overflow用于设置元素超过宽度时是否隐藏或显示滚动条。 ( √ )

3. 在不涉及样式情况下,页面元素的优先显示与结构摆放顺序无关。 ( × )

4. 在不涉及样式情况下,页面元素的优先显示与标签选用无关。 ( √ )

5. display:inline兼容所有的浏览器。 ( √ )

6. input属于窗体元素,层级显示比flash、其它元素都高。 ( × )

篇2:Web前端开发笔试题

1、什么是web标准?

WEB标准不是某一个标准,而是一系列标准的集合。网页主要由三部分组成:结构(Structure)、表现(Presentation)和行为(Behavior)。对应的标准也分三方面:结构化标准语言主要包括XHTML和XML,表现标准语言主要包括CSS,行为标准主要包括对象模型(如W3C DOM)、ECMAScript等。这些标准大部分由W3C起草和发布,也有一些是其他标准组织制订的标准,比如ECMA(European Computer Manufacturers Association)的ECMAScript标准。

2、XHTML与HTML有什么区别?你觉得应该使用哪一个,并说出理由。

XHTML1.0和HTML4.01之间的主要差异是它遵守XML编码约定。

标签不能重叠,可以嵌套

标签与属性都要小写

标签都要有始有终,要么以

形式结束,要么以

形式结束

每个属性都要有属性值,并且属性值要在双引号中

别用name用id

3、请解释一下DOCTYPE的作用,有DOCTYPE和没有DOCTYPE有什么区别?

DOCTYPE声明是指HTML文档开头处的一行或两行代码,它描述使用哪个DTD。DTD(文档类型定义)是一组机器可读的规则,它们定义XML或HTML的特定版本中允许有什么,不允许有什么。在解析网页时,浏览器将使用这些规则检查页面的有效性并且采取相应的措施。浏览器通过分析页面的DOCTYPE声明来了解要使用哪个DTD,由此知道要使用HTML的哪个版本。

DOCTYPE当前有两种风格,严格(strict)和过渡(transitional)。过渡的目的是帮助开发人员从老版本迁移到新版本,仍然允许使用已经废弃的元素。严格版本禁止使用废弃的元素,从而把内容和表现分隔开。

篇3:Web前端开发笔试题

1、严格模式与混杂模式——如何触发这两种模式,区分它们有何意义。

当浏览器厂商开始创建与标准兼容的浏览器时,他们希望确保向后兼容性。为了实现这一点,他们创建了两种呈现模式:标准模式和混杂模式。在标准模式中,浏览器根据规范呈现页面;在混杂模式中,页面以一种比较宽松的向后兼容的方式显示。混杂模式通常模拟老式浏览器的行为以防止老站点无法工作。

浏览器根据DOCTYPE是否存在以及使用的哪种DTD来选择要使用的呈现方法。如果XHTML文档包含形式完整的DOCTYPE,那么它一般以标准模式呈现。对于HTML4.01文档,包含严格DTD的DOCTYPE常常导致页面以标准模式呈现。包含过渡DTD和URI的DOCTYPE也导致页面以标准模式呈现,但是有过渡DTD而没有URI会导致页面以混杂模式呈现。DOCTYPE不存在或形式不正确会导致HTML和XHTML文档以混杂模式呈现。

根据DOCTYPE是否存在选择呈现模式,被称为DOCTYPE切换或DOCTYPE侦测。

DOCTYPE切换是浏览器用来区分遗留文档和符合标准的文档的手段。无论是否编写了有效的CSS,如果选择了错误的DOCTYPE,那么页面就将以混杂模式呈现,其行为就可能会有错误或不可预测。因此一定要在每个页面上包含形式完整的DOCTYPE声明,并且在使用HTML时选择严格的DTD。

2、各种CSS样式的简写。如padding,border,font等。

篇4:Web前端开发笔试题

1、img的alt与title有何异同?strong与em的异同?

使用title属性提供非本质的额外信息。大部分的可视化浏览器在鼠标悬浮在特定元素上时显示title文字为提示信息(tool tip)。使用alt属性是为了给那些不能看到你文档中图像的浏览者提供文字说明。这包括那些使用本来就不支持图像显示或者图像显示被关闭的浏览器的用户,视觉障碍的用户和使用屏幕阅读器的用户。替换文字是用来替代图像而不是提供额外说明文字的。

em 是句意强调,加与不加会引起语义变化。strong 是重要性强调,和局部还是全局无关,局部强调用strong也可以,strong强调的是重要性,不会改变句意。并且在浏览器中,em 默认用斜体表示,strong 用粗体表示。

2、清除浮动的方法,各有什么特点?

1)使用空标签

2)使用overflow属性

3)使用after伪对象

篇5:Web前端开发工程师笔试题

1. 在一个框架的属性面板中,不能设置下面哪一项。( C )

A.源文件 ; B.边框颜色 ;

C.边框宽度

D.滚动条

2. CSS样式表根据所在网页的位置,可分为?(B )

A.行内样式表、内嵌样式表、混合样式表

B.行内样式表、内嵌样式表、外部样式表

C.外部样式表、内嵌样式表、导入样式表

D.外部样式表、混合样式表、导入样式表

3.对于标签,其中*代表GET或( C )

A. SET

B. PUT

C. POST

D. INPUT

4. HTML代码

表示?(D )

A. 创建表格

B. 创建一个滚动菜单

C. 设置每个表单项的内容

D. 创建一个下拉菜单

5. 在表单中包含性别选项,且默认状态为“男”被选中,下列正确的是( A )

A.

B.

C.

D.

6. 在CSS中下面哪种方法表示超链接文字在鼠标经过时,超链接文字无下划线?(B )

A. A:link{TEXT-DECORATION: underline }

B. A:hover {TEXT-DECORATION: none}

C. A:active {TEXT-DECORATION: blink }

D. A:visited {TEXT-DECORATION: overline }

7. 下面代码片段,说法正确的是:(B )

.DIV1 { position:absolute;

line-height:22px;

height:58px;

background-color: #FF0000; }

A. Line-height:22px;修饰文本字体大小

B. position:absolute;表示绝对定位,被定位的元素位置固定

C. height:58px; 表示被修饰的元素距离别的元素的距离

D. background-color: #FF0000; 表示被修饰的元素的背景图像

8. 在Dreamweaver 中, 在设置各个框架属性时, 参 数Scroll 是用来设置( B )属性的。

A. 是否进行颜色设置

B. 是否出现滚动条

C. 是否设置边框宽度

D. 是否使用默认边框宽度

9. 以下链接到电子邮件的正确格式是(B )

A. 邮箱

B. 邮箱

C. 邮箱

D. 邮箱

10. 若将Dreamweaver中2个横向相邻的单元格合并,则两单元格中文字会( A )

A.文字合并

B.左单元格文字丢失

C.右单元格文字丢失

D.系统出错

篇6:Web前端开发工程师笔试题

1. ID为left的DIV标签,用CSS设置DIV的左边为红色实线,下面设置正确的是 (C )

A.style=”border-top: #ff0000 1 solid;”

B.style=”border-left: 1, #ff0000 ,solid;”

C.style=”border-left: 1 #ff0000 solid;”

D.style=”border-right: 1, #ff0000, dashed;”

2. html语言中,设置表格边框宽度的标签是?(A )

A.

B.

C.

D.

3. 的意思是?(A )

A. 图像相对于周围的文本左对齐

B. 图像相对于周围的文本右对齐

C. 图像相对于周围的文本底部对齐

D. 图像相对于周围的文本顶部对齐

14. 一个有 3 个框架的 Web 页实际上有几个独立 的HTML 文件?(C )

A. 2 B. 3

C. 4 D. 5

5. 下列标签可以不成对出现的是( B)

A.〈HTML〉〈/HTML〉

B.〈P〉 〈/P〉

C.〈TITLE〉〈/TITLE〉

D.〈BODY〉〈/BODY〉

6. 下列那个不是CSS选择符(A )

A.p

B..td

C.#box

D.shop

7. 在CSS的三种选择符种,哪个优先级最高?( C )

A.标签选择符

B.类选择符号

C.ID选择符

8. 引入样式表的方式有几种?

引入样式表的方式有两种:方式一通过link引入,如

Type=“text/css” href=“css.css”> 方法二 通过import导入 如import css.css

9. 关于Document对象,下列叙述正确的是(AC )

a)Document对象表示浏览器中显示的HTML文档

b)Document对象的常用属性bgcolor用来设置文档的背景图片

c)Document对象的常用方法getElementById用于访问唯一的一个元素

d)Document对象的常用方法getElementByNames

10. 在javascript 中,以下哪个变量名是非法的(B )

a)Name

b)9name

c)Name_a

d)Name9

篇7:Web前端开发工程师笔试题

1. Javascript可以在以下什么地方执行?(B )

a)服务器端的IE浏览器

b)客户端的IE浏览器

c)在服务器端的tomcat容器里

d)在客户端的tomcat容器里

2. 在javascript中,( B )变量在函数外声明,并可从脚本的任意位置访问

a)局部

b)全局

c)typeOf

d)New

3. 关于javascript说法正确的是(B )。

a)它是面向对象的

b)它是基于对象的

c)它是面向过程的

d)以上说法都不正确

4. 以下哪条语句会产生运行错误(A )

A、var obj =

B、var obj =

C、var obj =

D、var obj = //

5. 在javascript中,下拉列表框的(B )方法可从列表中删除一个元素

a)Add( )

b)Remove( )

c)Focus( )

d)blur

6. 请选择结果为真的表达式(C )

a)null instanceof Object

b)null === undefined

c)null == undefined

d)NaN == NaN

7. 在不指定特殊属性的情况下,哪几种HTML标签可以手动输入文本(AB )

a)

b)

c)

d)

8. 在javascript中,String 对象的方法不包括(D )。

a)charAt

b)substring

c)toUpperCase

d)Length

9. 下拉菜单中,用户更改表单元素Select中的值时,就会调用(A )事件处理程序。( )

a)onChange

b)onFocus

c)onMouseOver

d)onClick

10. ( C )事件处理程序可用于在用户单击按钮时执行函数

a)onSubmit

b)onChange

c)onClick

d)onBlur

篇8:关于腾讯笔试题

部分IT公司笔试算法题

1、将一整数逆序后放入一数组中(要求递归实现)

void convert(int *result, int n) {

if(n>=10)

convert(result+1, n/10);

*result = n%10;

}

int main(int argc, char* argv[]) {

int n = 123456789, result[20] = { };

convert(result, n);

printf(“%d:”, n);

for (int i = 0; i < 9; i++)

printf(“%d”, result);

}

2、求高于平均分的学生学号及成绩(学号和成绩人工输入)

double find(int total, int n) {

int number, score, average;

scanf(“%d”, &number);

if(number != 0) {

scanf(“%d”, &score);

average = find(total+score, n+1);

if(score >= average)

printf(“%d:%d ”, number, score);

return average;

} else {

printf(“Average=%d ”, total/n);

return total/n;

}

}

int main(int argc, char* argv[]) {

find(0, 0);

}

3、递归实现回文判断(如:abcdedbca就是回文,判断一个面试者对递归理解的简单程序)

int find(char *str, int n) {

if(n<=1) return 1;

else if(str[0]==str[n-1]) return find(str+1, n-2);

else return 0;

}

int main(int argc, char* argv[]) {

char *str = “abcdedcba”;

printf(“%s: %s ”, str, find(str, strlen(str)) ? “Yes” : “No”);

}

4、组合问题(从M个不同字符中任取N个字符的所有组合)

void find(char *source, char *result, int n) {

if(n==1) {

while(*source)

printf(“%s%c ”, result, *source++);

} else {

int i, j;

for(i=0; source != 0; i++);

for(j=0; result[j] != 0; j++);

for(; i>=n; i--) {

result[j] = *source++;

result[j+1] = ;

find(source, result, n-1);

}

}

}

int main(int argc, char* argv[]) {

int const n = 3;

char *source = “ABCDE”, result[n + 1] = { 0 };

if (n > 0 && strlen(source) > 0 && n< = strlen(source))

find(source, result, 3);

}

5、分解成质因数(如435234=251*17*17*3*2,据说是华为笔试题)

void prim(int m, int n) {

if(m>n) {

while(m%n != 0) n++;

m /= n;

prim(m, n);

printf(“%d*”, n);

}

}

int main(int argc, char* argv[]) {

int n = 435234;

printf(“%d=”, n);

prim(n, 2);

}

6、寻找迷宫的一条出路,o:通路; X:障碍。(大家经常谈到的一个小算法题)

#define MAX_SIZE 8

int H[4] = {0, 1, 0, -1};

int V[4] = { -1, 0, 1, 0 };

char Maze[MAX_SIZE][MAX_SIZE] = { { X, X, X, X, X, X, X, X }, {

o, o, o, o, o, X, X, X }, { X, o, X, X, o,

o, o, X }, { X, o, X, X, o, X, X, o }, { X,

o, X, X, X, X, X, X }, { X, o, X, X, o, o,

o, X }, { X, o, o, o, o, X, o, o }, { X, X,

X, X, X, X, X, X } };

void FindPath(int X, int Y) {

if (X == MAX_SIZE || Y == MAX_SIZE) {

for (int i = 0; i < MAX_SIZE; i++)

for (int j = 0; j < MAX_SIZE; j++)

printf(“%c%c”, Maze[j], j < MAX_SIZE - 1 ? : );

} else

for (int k = 0; k < 4; k++)

if (X >= 0 && Y >= 0 && Y < MAX_SIZE&& X < MAX_SIZE && o

== Maze[X][Y]) {

Maze[X][Y] = ;

FindPath(X + V[k], Y + H[k]);

Maze[X][Y] = o;

}

}

int main(int argc, char* argv[]) {

FindPath(1, 0);

}

7、随机分配座位,共50个学生,使学号相邻的同学座位不能相邻(早些时候用C

#写的,没有用C改写)。

static void Main(string[] args)

{

int Tmp = 0, Count = 50;

int[] Seats = new int[Count];

bool[] Students = new bool[Count];

System.Random RandStudent=new System.Random;

Students[Seats[0]=RandStudent.Next(0,Count)]=true;

for(int i = 1; i < Count; ) {

Tmp=(int)RandStudent.Next(0,Count);

if((!Students[Tmp])&&(Seats[i-1]-Tmp!=1) && (Seats[i-1] - Tmp) != -1) {

Seats[i++] = Tmp;

Students[Tmp] = true;

}

}

foreach(int Student in Seats)

System.Console.Write(Student + “ ”);

System.Console.Read();

}

8、求网格中的黑点分布。现有6*7的网格,在某些格子中有黑点,已知各行与各列中有黑点的点数之和,请在这张网格中画出黑点的位置。(这是一网友提出的题目,说是他笔试时遇到算法题)

#define ROWS 6

#define COLS 7

int iPointsR[ROWS] = {2, 0, 4, 3, 4, 0}; // 各行黑点数和的情况

int iPointsC[COLS] = { 4, 1, 2, 2, 1, 2, 1 }; // 各列黑点数和的情况

int iCount, iFound;

int iSumR[ROWS], iSumC[COLS], Grid[ROWS][COLS];

int Set(int iRowNo) {

if (iRowNo == ROWS) {

for (int iColNo = 0; iColNo < COLS && iSumC[iColNo] == iPointsC[iColNo]; iColNo++)

if (iColNo == COLS - 1) {

printf(“ No.%d: ”, ++iCount);

for (int i = 0; i < ROWS; i++)

for (int j = 0; j < COLS; j++)

printf(“%d%c”, Grid[j], (j + 1) % COLS ? : );

iFound = 1; // iFound = 1,有解

}

} else {

for (int iColNo = 0; iColNo < COLS; iColNo++) {

if (iPointsR[iRowNo] == 0) {

Set(iRowNo + 1);

} else if (Grid[iRowNo][iColNo] == 0) {

Grid[iRowNo][iColNo] = 1;

iSumR[iRowNo]++;

iSumC[iColNo]++;

if (iSumR[iRowNo] < iPointsR[iRowNo] && iSumC[iColNo]

<= iPointsC[iColNo])

Set(iRowNo);

else if (iSumR[iRowNo] == iPointsR[iRowNo] && iRowNo < ROWS)

Set(iRowNo + 1);

Grid[iRowNo][iColNo] = 0;

iSumR[iRowNo]--;

iSumC[iColNo]--;

}

}

}

return iFound; // 用于判断是否有解

}

int main(int argc, char* argv[]) {

if (!Set(0))

printf(“Failure!”);

}

9、有4种面值的邮票很多枚,这4种邮票面值分别1, 4, 12, 21,现从多张中最多任取5张进行组合,求取出这些邮票的最大连续组合值。(据说是华为校园招聘笔试题)

#define N 5

#define M 5

int k, Found, Flag[N];

int Stamp[M] = { 0, 1, 4, 12, 21 };

// 在剩余张数n中组合出面值和Value

int Combine(int n, int Value) {

if (n >= 0 && Value == 0) {

Found = 1;

int Sum = 0;

for (int i = 0; i < N && Flag != 0; i++) {

Sum += Stamp[Flag];

printf(“%d ”, Stamp[Flag]);

}

printf(“ Sum=%d ”, Sum);

} else

for (int i = 1; i < M && !Found && n > 0; i++)

if (Value - Stamp >= 0) {

Flag[k++] = i;

Combine(n - 1, Value - Stamp);

Flag[--k] = 0;

}

return Found;

}

int main(int argc, char* argv[]) {

for (int i = 1; Combine(N, i); i++, Found = 0)

;

}

10、大整数数相乘的问题。(这是在一考研班上遇到的算法题)

void Multiple(char A[], char B[], char C[]) {

int TMP, In=0, LenA=-1, LenB=-1;

while(A[++LenA] != );

while(B[++LenB] != );

int Index, Start = LenA + LenB - 1;

for(int i=LenB-1; i>=0; i--) {

Index = Start--;

if(B != 0) {

for(int In=0, j=LenA-1; j>=0; j--) {

TMP = (C[Index]-0) + (A[j]-0) * (B - 0) + In;

C[Index--] = TMP % 10 + 0;

In = TMP / 10;

}

C[Index] = In + 0;

}

}

}

int main(int argc, char* argv[]) {

char A[] = “21839244444444448880088888889”;

char B[] = “38888888888899999999999999988”;

char C[sizeof(A) + sizeof(B) - 1];

for (int k = 0; k < sizeof(C); k++)

C[k] = 0;

C[sizeof(C) - 1] = ;

Multiple(A, B, C);

for (int i = 0; C != ; i++)

printf(“%c”, C);

}

11、求最大连续递增数字串(如“ads3sl456789DF3456ld345AA”中的“456789”)

int GetSubString(char *strSource, char *strResult) {

int iTmp=0, iHead=0, iMax=0;

for(int Index=0, iLen=0; strSource[Index]; Index++) {

if(strSource[Index] >= 0 && strSource[Index] <= 9 &&

strSource[Index-1]> 0 && strSource[Index] == strSource[Index-1]+

[关于腾讯笔试题]

篇9:腾讯笔试题

腾讯笔试题

腾讯是国内数一数二的IT企业了,那么每年想要进入腾讯公司的应聘者也是络绎不绝。那么一个好的笔试答卷绝对是脱颖而出的亮点。现在就来看看腾讯笔试题都有哪些内容吧。

腾讯笔试题:const的含义及实现机制

const的含义及实现机制,比如:const int i,是怎么做到i只可读的?

const用来说明所定义的变量是只读的。

这些在编译期间完成,编译器可能使用常数直接替换掉对此变量的引用。

腾讯笔试题:买200返100优惠券,实际上折扣是多少?

到商店里买200的商品返还100优惠券(可以在本商店代替现金)。请问实际上折扣是多少?

由于优惠券可以代替现金,所以可以使用200元优惠券买东西,然后还可以获得100元的优惠券。

假设开始时花了x元,那么可以买到 x + x/2 + x/4 + ...的东西。所以实际上折扣是50%.(当然,大部分时候很难一直兑换下去,所以50%是折扣的上限)

如果使用优惠券买东西不能获得新的优惠券,那么

总过花去了200元,可以买到200+100元的商品,所以实际折扣为 200/300 = 67%.

腾讯笔试题:tcp三次握手的过程,accept发生在三次握手哪个阶段?

accept发生在三次握手之后。

第一次握手:客户端发送syn包(syn=j)到服务器。

第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个ASK包(ask=k)。

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1)。

三次握手完成后,客户端和服务器就建立了tcp连接。这时可以调用accept函数获得此连接。

腾讯笔试题:用UDP协议通讯时怎样得知目标机是否获得了数据包

用UDP协议通讯时怎样得知目标机是否获得了数据包?

可以在每个数据包中插入一个唯一的ID,比如timestamp或者递增的int。

发送方在发送数据时将此ID和发送时间记录在本地。

接收方在收到数据后将ID再发给发送方作为回应。

发送方如果收到回应,则知道接收方已经收到相应的数据包;如果在指定时间内没有收到回应,则数据包可能丢失,需要重复上面的过程重新发送一次,直到确定对方收到。

腾讯笔试题:统计论坛在线人数分布

求一个论坛的在线人数,假设有一个论坛,其注册ID有两亿个,每个ID从登陆到退出会向一个日志文件中记下登陆时间和退出时间,要求写一个算法统计一天中论坛的用户在线分布,取样粒度为秒。

一天总共有 3600*24 = 86400秒。

定义一个长度为86400的整数数组int delta[86400],每个整数对应这一秒的人数变化值,可能为正也可能为负。开始时将数组元素都初始化为0。

然后依次读入每个用户的登录时间和退出时间,将与登录时间对应的整数值加1,将与退出时间对应的整数值减1。

这样处理一遍后数组中存储了每秒中的人数变化情况。

定义另外一个长度为86400的整数数组int online_num[86400],每个整数对应这一秒的论坛在线人数。

假设一天开始时论坛在线人数为0,则第1秒的人数online_num[0] = delta[0]。第n+1秒的`人数online_num[n] = online_num[n-1] + delta[n]。

这样我们就获得了一天中任意时间的在线人数。

腾讯笔试题:从10G个数中找到中数

在一个文件中有 10G 个整数,乱序排列,要求找出中位数,

内存限制为 2G。

不妨假设10G个整数是64bit的。

2G内存可以存放256M个64bit整数。

我们可以将64bit的整数空间平均分成256M个取值范围,用2G的内存对每个取值范围内出现整数个数进行统计。这样遍历一边10G整数后,我们便知道中数在那个范围内出现,以及这个范围内总共出现了多少个整数。

如果中数所在范围出现的整数比较少,我们就可以对这个范围内的整数进行排序,找到中数。如果这个范围内出现的整数比较多,我们还可以采用同样的方法将此范围再次分成多个更小的范围(256M=2^28,所以最多需要3次就可以将此范围缩小到1,也就找到了中数)。

腾讯笔试题:两个整数集合A和B,求其交集

两个整数集合A和B,求其交集。

1. 读取整数集合A中的整数,将读到的整数插入到map中,并将对应的值设为1。

2. 读取整数集合B中的整数,如果该整数在map中并且值为1,则将此数加入到交集当中,并将在map中的对应值改为2。

通过更改map中的值,避免了将同样的值输出两次。

腾讯笔试题:找出1到10w中没有出现的两个数字

有1到10w这10w个数,去除2个并打乱次序,如何找出那两个数?

申请10w个bit的空间,每个bit代表一个数字是否出现过。

开始时将这10w个bit都初始化为0,表示所有数字都没有出现过。

然后依次读入已经打乱循序的数字,并将对应的bit设为1。

当处理完所有数字后,根据为0的bit得出没有出现的数字。

首先计算1到10w的和,平方和。

然后计算给定数字的和,平方和。

两次的到的数字相减,可以得到这两个数字的和,平方和。

所以我们有

x + y = n

x^2 + y^2 = m

解方程可以得到x和y的值。

腾讯笔试题:需要多少只小白鼠才能在24小时内找到毒药

有1000瓶水,其中有一瓶有毒,小白鼠只要尝一点带毒的水24小时后就会死亡,至少要多少只小白鼠才能在24小时时鉴别出那瓶水有毒?

最容易想到的就是用1000只小白鼠,每只喝一瓶。但显然这不是最好答案。

既然每只小白鼠喝一瓶不是最好答案,那就应该每只小白鼠喝多瓶。那每只应该喝多少瓶呢?

首先让我们换种问法,如果有x只小白鼠,那么24小时内可以从多少瓶水中找出那瓶有毒的?

由于每只小白鼠都只有死或者活这两种结果,所以x只小白鼠最大可以表示2^x种结果。如果让每种结果都对应到某瓶水有毒,那么也就可以从2^x瓶水中找到有毒的那瓶水。那如何来实现这种对应关系呢?

第一只小白鼠喝第1到2^(x-1)瓶,第二只小白鼠喝第1到第2^(x-2)和第2^(x-1)+1到第2^(x-1) + 2^(x-2)瓶....以此类推。

回到此题,总过1000瓶水,所以需要最少10只小白鼠。

腾讯笔试题:根据上排的数填写下排的数,并满足要求。

根据上排给出十个数,在其下排填出对应的十个数, 要求下排每个数都是上排对应位置的数在下排出现的次数。上排的数:0,1,2,3,4,5,6,7,8,9。

腾讯笔试题:判断数字是否出现在40亿个数中?

给40亿个不重复的unsigned int的整数,没排过序的,然后再给几个数,如何快速判断这几个数是否在那40亿个数当中?

答案:unsigned int 的取值范围是0到2^32-1。我们可以申请连续的2^32/8=512M的内存,用每一个bit对应一个unsigned int数字。首先将512M内存都初始化为0,然后每处理一个数字就将其对应的bit设置为1。当需要查询时,直接找到对应bit,看其值是0还是1即可。

篇10:腾讯笔试题参考

腾讯笔试题参考

腾讯笔试题(一)

腾讯的流程是一笔和四面,前三次面试都是技术面,hr面基本不刷人。笔试成绩决定面试顺序。技术面可能要写代码,做智力题目。

主要是c/c++、数据结构、操作系统等方面的基础知识。好像有sizeof、树等选择题。填空题是补充完整程序。附加题有写算法的'、编程的、数据库sql语句查询的。还有一张开放性问题。

1.请定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句。

int const shift = sizeof(int)*8-1;

unsigned mask = (0x1<

if ( (a-b)&mask )

max_num = b;

else

max_num = a;

#define Max(a,b) ( a/b)?a:b

2.如何输出源文件的标题和目前执行行的行数

int line= __LINE__;

char *file = __FILE__;

cout<<“file name is ”<<(file)<<“,line is ”<

3.两个数相乘,小数点后位数没有限制,请写一个高精度算法与大数相乘原理一样,只是调整小数点位置,即有效小数个数

算法提示:

输入 string a, string b;计算string c=a*b; 返回 c;

1, 纪录小数点在a,b中的位置l1,l2,则需要小数点后移动位置数为l=length(a)+length(b)-l1-l2-2;

2, 去掉a,b中的小数点,

(a,b小数点后移,使a,b变为整数)

3, 计算c=a*b;

(要么用java的BigInterger搞, 要么自己用C++写高精度数乘法,超过百万位,用FFT,我就不细说,这都预先写过就别做了

)

4, 输出c

(注意在输出倒数第l个数时,输出一个小数点,

若是输出的数少于l个,就补0)

4.写一个病毒

while (1)

{

int *p = new int[10000000];

}

上面这个不对,没有传染性,寄生性……

5.不使用额外空间,将 A,B两链表的元素交叉归并将树序列化转存在数组或 链表中

struct st{

int i;

short s;

char c;

};

sizeof(struct st);

8

char * p1;

void * p2;

int p3;

char p4[10];

sizeof(p1...p4) =?

4,4,4,10

5.让你在100000000个浮点数中找出最大的10000个,要求时间复杂度优。

最小堆

二分查找

快速排序

双向链表的删除结点

6、有A、B、C、D四个人,要在夜里过一座桥。他们通过这座桥分别需要耗时1、2、5、10分钟,只有一支手电,并且同时最多只能两个人一起过桥。请问,如何安排,能够在17分钟内这四个人都过桥?

基础题有15道选择和2道读程序填空。选择题的确是很基础,主要考数据结构,还有一些体系结构、数据库的题目;读程序题跟我们平时考试的差不多,一道是两个升序链合并成一个升序链+递归,一道是四色着色方案附加题有几道没有看清楚。有一道是unix防僵死算法,最后一道是sql查询,还有几道忘了,其中一个是很长的程序题。

篇11:百度校园招聘Web前端笔试题

百度校园招聘Web前端笔试题

上午9:00去西电百度的Web前端笔试,不得不说,百度的效率还是蛮高的,晚上大概23:00收到面试通知,

下面就把我记忆中的百度Web前端的'笔试题给大家分享一下:

1、HTML5强调标签的语义化,请写出5个HTML5的语义化标签。(本人写了6个)

2、使用javascript实现,将文档中className有“test”的td标签背景色设为黄色。(本人用JS和JQuery都写了)

3、HTML和CSS实现一个小页面,今年出的事百度MP3的歌曲Top200哪个。(风骚了一下,用HTML5写的)

4、用javascript实现控制一个文本框的输入字数限制,超出字数限制文本框飘红显示。(这个不难)

5、使用Javascript打印出1-10000之间的所有素数。(基础的算法题)

6、当你打开浏览器输入百度网址,在搜索框中输入“HTML5”的,然后返回结果,在这个过程中计算机与网络发生了什么?你有什么建议?

7、历来是个开放题:谈谈你所做的项目

1 你在项目中担任怎样的职位,

2 如果是研发工作,你是怎么处理需求与研发之间关系的?当需求变更呢?

3

4 谈谈你认为怎样做能是项目做的更好?

上边6、7题都是大意,第7题的3 真心忘了,各位抱歉,

更多热门文章推荐参考:

1、2015百度校招产品经理笔试题汇总

2、百度软件笔试题

3、2015百度春招产品经理笔试题

4、百度软件测试常见笔试题

5、2015年百度校招产品经理笔试题

6、2015校招360产品助理网测笔试题

7、2014中兴笔试题目

8、2014年奇虎360笔试题汇总

9、华为2014年上机笔试题

10、美团2015校招研发笔试题

相关专题 腾讯笔试