360公司18年春招技术笔试题目分享,题量很大差点没做完

和大家分享一下360公司春招的试题,题量有点大哦

单选题


1、下图的UML类结构图 表示的是哪种设计模式:(  )


2、假设一个list初始化为{2,9,5,4,8,1}。在第一次冒泡排序后,list变成了( )?
A. 2,9,5,4,1,8
B. 2,5,9,4,.8,1
C. 2,5,4,8,1,9
D. 2,9,5,4,8,1

3、以下代码段执行后的输出结果为

public class Test {
public static void main(String args[]){
int x=-5;
int y=-12;
System.out.println(y % x);
}
}

A. 1

B. 2

C. -1

D. -2
4、下列哪种算法理论上性能最佳,实际上无法实现( )
A. Clock
置换算法
B. SCAN
算法
C. FIFO
算法
D. OPT
算法

5、下列不属于POSIX互斥锁相关函数的是: (
A.int pthread_mutex_create(pthread_mutex_t* mutex)
B.int pthread_mutex_trylock(pthread_mutex_t* mutex)
C.int pthread_mutex_destroy(pthread_mutex_t* mutex)
D.int pthread_mutex_lock(pthread _mutex_t* mutex)

6、以下哪个I/O类可以附加或者更新(

A. RandomAccessFile()

B. DataOutpuStream()

C. OutputStream()

D. None of the above

7、假设num已经被创建为一个ArrayList对象,并且最初包含以下整数值:[0,0,4,2,0,3,0]。执行下面方法numQuest(),最终的输出结果为(  )

 private static List<Integer> nums; //precondition:nums.size()>0

//nums contains Integer objects public static void numQuest(List<Integer> nums){ int k=0; Integer zero=new Integer(0);

    while(k<nums.size()){ if(nums.get(k).equals(zero))

            nums.remove(k); k++; }

}

[0,0,4,2,5,0,3,0]

A. [3,5,2,4,0,0,0,0]

B. [0,0,0,0,4,2,5,3]

C. [0,4,2,5,3]
8、下面哪些不是Thread类的方法
A. getPriority()
B. run()
C. start()
D. exit()

9、#include<bits/stdc++.h>

using namespace std;

Int solve(intx){
if(x==O||x==1){
return x;

}
if(x%2==0){
return 1+solve(x/2);

}
else{
return 1+solve((x+1)/2);

}

}
int main(){
int n=100;
int ans=solve(n);

cout<<ans<<endl;

return 0;

}
程序的输出为( )

A. 9

B. 7

C. 6

D. 8
10、#include<bits/stdc++.h>

using namespace std;int main(){
stack<int>st;

int pos=1;
while(pos<=3){
st.push(pos++);
cout<<st.top();

while(pos<=5){
st.push(pos++);}
while(!st.empty()){
cout<<st.top
();

st.pop();
return 0;

}
上述程序的输出为( )

A. 354321

B. 123453

C. 12453

D. 35421

10、#include<bits/stdc++.h>

using namespace std;

int main(){
int n=5;
vector<int>a;

set<int>b;
for(inti=1;i<=n;++i){
a.push_back(i);

b.insert(i);}
for(int i=1;i<=n;++i){
a.push_back(i);

b.insert(i);}
cout<<a.size()<<b.size()<<endl;

return 0;

}

程序的输出位( )

A. 1010

B. 510

C. 55

D. 105
11、下列关于构造函数的说法,错误的是( )
A.
构造函数没有返回类型
B.
构造函数不可以是私有的(private)
C.
无论何时,只要类的对象被创建,就会执行构造函数
D.
一个类中可以有多个构造函数

12、变量void(*s[5])(int)表示的意思是(

A. 数组和指针

B. 函数指针

C. 函数指针组

D. 语法错误
13
、有关下面程序说法正确的是( )(注:П代表空格)
int main
()
char s[6]="abcd";
printf("\"%s\"\n",s);
return 0;

}
A. 编译错误
B. "abcd
П"
C. \"abcd\"

D."abcd"

14、以下代码的循环次数是(
public class Test {
public static void main(String args[]) {
int i=7;
do{
System.out.println(--i);
--i;
}while(i!=0);
System.out.println(i);
}}

A. 1

B. 7

C. 0

D. 无限次

15、下面关于继承的描述正确的是(
A.
Java中一个类只能实现一个接口
B.
Java中一个类不能同时继承一个类和实现一个接口
C.
Java中只允许单一继承
D
Java的单一继承使代码不可靠
16
、代码行float t=5.1; int i=t;,不正确的是(
A.
第二行若改为int i=(byte)t则可编译
B.
代码不能编译
C.
第一行若改为float t=5.1f则可编译
D.
代码编译,i被设置为5
17
ArrayList list=new ArrayList(20);中的list扩充几次?(

A. 0

B. 1

C. 3

D. 2

18、抽象类和接口的区别,以下说法错误的是(
A. abstract class
interface所反映出的设计理念不同。其实abstract class表示的是"has_a"关系,interface表示的是"is_a"关系。

B. 在abstract class中可以有自己的数据成员,也可以有非abstarct的成员方法,而在interface中只能够有静态的不能不修改的数据成员(也就是必须是static final的,不过在interface中一般不定义数据龙员),所有的成员方法默认都是public abstract类型的。
C.
接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的。
D. abstract class
Java语言中表示的是一种继承关系,一个类只能使用一次迷承关系。但是,一个类却可以实现多个interface,实现多重继承。接口还有标识(里面没有任何方法,如Remote接口)和数据共享(里面的变量都是常量)的作用。

19、数据库1NF2NF3NFBCNF之间的关系是(
A.
RBCNF,R3NF
B.
R3NF,RBCNF
C.
R1NF,R不属于BCNF
R2NF,R3NF
20
、在数据库中存在多列的情况下,若要删除表中的某一列应该使用SQL语句(
A. ALTER TABLE tableName DROP COLUMN columnName
B. ALTER TABLE tableName DELETE columnName
C. ALTER TABLE tableName DELETE COLUMN columnName
D. ALTER TABLE tableName DROP columnName

21、现有磁盘读写请求队列为24051,若当前磁头在1号磁道上,若采用FCFS算法进行磁盘调度时,则平均寻道长度为(

A. 2.4

B. 3.2

C. 1.6

D. 1.2

22、以下关于继承的叙述正确的是(
A.
Java中接口只允许单一继承
B.
Java中类只允许单一继承
C.
Java中一个类不能同时继承一个类和实现一个接口
D.
Java中一个类只能实现一个接口

23、下列程序段的时间复杂度是( )
count=1;
for(k=1;k<2n;k*=2)
for(i=1;i<4n;i+=2)
count++;
A. O(n)
B. O()
C. O(nn)
D. O(8)
24
、使用迪杰斯特拉(Djkstra)算法求下图中从顶点1到其他各顶点的最短路径,依次得到最短路径的目标点是(


A. 2,3564

B. 2,3456

C. 2,3465

D. 2,3654

25、对于函数y=ax^2+bx+c,(a>0).需要找出y的小值,精确到小数点后6位。下列选项中最有效的方法是( )
A.
二分查找
B.
推公式
C.
枚举
D.
三分查找

26、下列关于排序算法的描述错误的是
A.
二叉查找树的查找效率与二叉树的树型有关,在节点太复杂时其查找效率最低B. 下列排序算法中,希尔排序在某趟排序结束后不一定能选出个元素放到其最终位置上
C.
在待排序的记录集中,存在多个具有相同键值的记录,若经过排序,这些记录的相对次序仍然保寺不变,称这种排序为定排序D. 在下列排序方法中,插入排序方法可能出现这种情况:在最后一趟开始之前,所有的元素都不在其最终应在的正确位置上

27、如果需要在不影响其他对象的情况下,以动态,透明的方式给对象添加职责,应该选择何种设计模式?
A.
装饰模式
B.
动态***模式
C.
桥接模式
D.
适配器模式

28、在选择排序中,以下什么情况下选择排序会更快执行?
A.
数据已按升降序排列
B.
数据已按十序排列
C.
俩者花费时间-

28、原始数据为011011111111111111110010采用比特填充技术填充后的发送数据为(
A. 01101111101111110111110010
B. 011011111011111011111010010
C. 0110111110111111111110010
D. 011011111111111111110010
29
、以下地址中的哪一个和76.32/12匹配( )
A. 76.58.119.74
B. 76.33.214.12
C. 76.68.204.11
D. 76.79.24.11
30
、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象的程序特性称为(
A. Java
不支与此特性
B.
隐藏
C.
重载
D.
覆盖

31、以下关于ntegerint的区别错误的是(
A. Integer
javaint提供的封装类
B. int
的默认值为0
C. Integer
的默认值为1
D. int
java提供的8种原始数据类型之一

多选题

1、若有定义语句:
int a[2][3],
*p[3],*q[3]; 则以下赋值语句正确的是(
A. p=&a[1];
B. p=a;
C. q=&a[1];
D. q=a;

2、extern"c"的作用有哪些( )
A.
使C函数使用C编译器优化
B.
实现C++代码调用其他C语言代码
C.
使C函数不被C++编译器优化
D.
到出C变量或函数

3、某公司网络中心升级web服务器的物理内存,相应的要提高inux服务器交换空间,以下可以扩展交换空间的操作是(
A. mkfs-f swap/dev/sdb1
B. mkswap/dev/sdb1
C. swapon/dev/sdb1
d. dd if=/dev/zero of=/mnt/sw1;swapon/mnt/sw1

4、以下说法中正确的有?
A. volatile
关键字不保证对变量操作的原子性
B. StringBuilder
是线程不安全的
C. HashMap
中,使用get(key)==null可以判断这个Hasmap是否包含这个key
D. Java
类可以后时用abstractfinal声明

5、以下哪些方法是Object类中的方法(
A. finalize( )
B. clone()
C. toString()
D. wait()

6、在有序表中,关于斐波那契查找和折半查找说法错误的是( )
A.
就平均性能而言,斐波那契查找的平均性能比折半查找差
B.
折半查找时间复杂度为O(log2n)
C.
只有有序表中元素个数n等于某个斐波那契数时才能用斐波那契查找算法
D.
在最坏情况下,斐波那契查找的性能比折半查找好

7、有关贪心法叙述正确的是(

A. 在贪心法中采用逐步构造最优解的方法

B. 采用全局最优策略
C.
采用局部最优策略
D.
把问题分解为简单的问题求解

编程题|20.01/3

画板

时间限制:C/C++语言 1000MS;其他语言 3000MS
内存限制:C/C++语言 65536KB;其他语言 589824KB

题目描述:

沫璃有一个画板,画板可以抽象成有100行每行100个像素点的正方形。沫璃在画板上画画,她一共画了n次,每次将一个矩形涂上颜色。沫璃想知道一共有多少个像素点被她涂过颜色。若一个像素点被涂了k次,那么认为有k个像素点被涂过颜色。

输入

第一行一个数T(T<=100),表示数据组数。

对于每组数据,第一行一个整数n , (1<=n<=100)

接下来n行,每行4个整数x1, y1, x2, y2 (1 <= x1 <= x2 <= 100, 1 <= y1 <= y2 <= 100),表示矩形的两个对角所对应的像素点的坐标。

输出

对于每组数据,输出一行,表示沫璃一共涂了多少个像素点。


样例输入

2

2

1 1 2 3

2 2 3 3

2

1 1 3 3

1 1 3 3

样例输出

10

18



编程题|30.02/3

派对

时间限制:C/C++语言 1000MS;其他语言 3000MS
内存限制:C/C++语言 65536KB;其他语言 589824KB

题目描述:

沫璃邀请她的朋友参加周末的派对。沫璃买了3种颜色的气球,现在她要有这些气球来装饰餐桌,每个餐桌只用恰好3个气球装饰,要求3个气球的颜色不能完全一样,可以是2种或者3种颜色。沫璃想知道这些气球最多能装饰多少张餐桌。

输入

第一行一个数T(T<=100),表示数据组数。

对于每组数据,第一行3个整数rgb,分别表示三种颜色的气球个数 (0<=r, g, b<=2*10^9)

输出

对于每组数据,输出一行,一个整数表示最多能装饰的餐桌数量。


样例输入

2

5 4 3

2 3 3

样例输出

4

2



编程题|30.03/3

【本题为选答题】奇异 长度

时间限制:C/C++语言 1000MS;其他语言 3000MS
内存限制:C/C++语言 65536KB;其他语言 589824KB

题目描述:

给你一个图,0节点连接这一个联通块a1节点连接着一个联通块b,ab仅由01这条边相连。

现在我们定义奇异路径为恰好经过0-1这条边一次的路径,其他边可以经过任意次,且路径不带方向,1-2-33-2-1认为是两条路径。重边也算多条路。

在这个图中有无数条奇异路径,问第k短的奇异路径长度是多少?

输入

输入若干行,第一行有三个正整数n,m,k,表示有n个节点,0~n-1,m条边,问第k长,接下来有mu,v,表示边,保证0-1边只出现一次,保证a,b联通块只通过0-1相连。

输出

输出一行表示答案


样例输入

5 4 10

0 1

0 2

1 3

1 4

样例输出

3



#春招##笔试题目##360公司##C++工程师##Java工程师#
全部评论
360开始春招了?
点赞 回复
分享
发布于 2019-01-10 01:46
请问楼主是什么岗呀?如果是数据分析岗,那就是劝退题了~
点赞 回复
分享
发布于 2019-04-03 10:36
联想
校招火热招聘中
官网直投

相关推荐

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