360公司2019校招 iOS综合卷分享给学弟学妹们

360集团今年的试题,发给今年发给今年要求职的学弟学妹们,祝大家都能找到满意的工作吧

第一部分 客观题

多选题

1.    在GCD中会出现死锁现象的包含下列哪些场景

a) dispalt_asynzc

b) GCD中传入的block里面用了线程通信的机制

c)       在同一个线程多次使用dispalt_sync

d)      访问了使用atmoic修饰的变量

2. w_user表结构如下:



以下创建索引的语句正确的是()

a). CREATE INDEX in1 ON w_user(u_name(10));

a). CREATE INDEX in3 ON w_user(u_img(10));

a). CREATE INDEX in2 ON w_user(u_pass(3));

a). CREATE INDEX in4 ON w_user(u_info);


3.    单处理系统中,进程P1,P2,P3处于就绪队列,进程P4,P6处于等待状态,P5正占用处理器运行,以下关于进程调度时机分析正确的是()

a) P5由运行状态转换为就绪状态时一定会引起进程调度

b) P6由运行等待转换为就绪状态时一定会引起进程调度

c) P5由运行状态转换为等待状态时一定会引起进程调度

d) P5执行结束,释放CPU使用权时一定会引起进程调度

4.    在iOS中,关于Block说法正确的是()

a)       其他都不对

b) NSStackBlock:位于栈内存,函数返回后Block将无效

c) NSGlobalBlock:类似函数,位于text

d) NSMallocBlock:位于堆内存

5.    关于树的说法正确的是()

a)       在AVL树中根节点的左右子树的深度最多相差1

b)      树中所有结点可以有0个或多个后继结点

c)       二叉树中至少有一个结点的度为2

d) Huffman树一定是AVL

6.    下列运算符重载函数中,属于友元函数的是()

a) Base operator+(Base);

b) Base operator&&(Base, Base);

c) Base operator++(Base,int);

d) Base operator--(Base);

7.    数据链路层可以提供哪些服务类型()

a)       有确认的有连接服务

b)      有确认的无连接服务

c)       无确认的无连接服务

d)      无确认的有连接服务

8.    关于归并排序叙述正确的是()

a)       子序列的长度一定相等

b)      归并排序使用了贪心策略的思想

c)       归并排序是稳定的

d)      归并排序使用了分治策略的思想

9.    产生哈希冲突的影响因素有哪些()

a)       哈希函数

b)      哈希表长

c)       处理冲突的方法

d)      装填因子

单选题

1.    已知有向图G=(V,E),其中V={a, b, c,d,e,f,g},E={<a,b>,<a,c>,<a,d>,<b,e>,<c,e>,<c,f>,<d,f>,<e,g>,<f,g>}G的拓扑序列是()

a) a,c,d,e,b,f,g

b) a,c,b,f,d,e,g

c) a,c,d,f,b,e,g

d) a,b,e,c,d,f,g

2.    一下哪一段代码不会抛出异常

a) NSString *str = nil; NSString *str2 = [str substringFromIndex:3];

b) NSString *str=@”hi”, NSString *str2 = [str substringFromIndex:3];

c) NSArray *array = @[@1,@2,@3]; NSNumber *number = array[3];

d) Id value; NSDictionary *dict = @{@”key”:value};

3.    以下哪个是UITableView新增属性?

a) backgroundEffect

b) seperatorInsetReference

c) prefetchDataSource

d) nextFocusedIndexPath

4.    存在R={A,B,C,D,E}, F={A -> B, B -> C, CE -> D},R的候选码为()

a) B

b) CE

c) AE

d) A

5.    对字符串“mabnmnm”的二进制进行哈夫曼编码有多少位()

a) 14

b) 13

c) 12

d) 15

6.    下列对NSArray初始化不正确的是()

a) NSArray *array = [NSArray arrayWithObjects:@”a”,@”b”,@”c”, nil];

b) NSArray *array = @[@”a”,@”b”,@”c];

c) NSArray *array = @[@”a”,@”b”,@”c, nil];

d) NSArray *array = [[NSArray alloc] initWithObjects:@”a”,@”b”,@”c”,nil];

7.    下列哪个函数的使用不会影响ViewController的释放()

a) performSelectorOnMainThread:withObject:waitUntilDone:

b) performSelector:withObject:afterDelay:

c) dispatch_after()

d) schedualedTimerWithInterval:target:selector:userInfo:repeats:

8.    下列程序的运行结果是()

#include <iostream>

#include <cmath>

using namespace std;

class Point

{

public:

Point(int X = 0, int Y = 0);

Point(Point &p);

int GetX()

{

return X;

}

int GetY()

{

return Y;

}

static int countP;

static void GetC(Point A, Point B)

{

int z;

z = sqrt((B.X - A.X) * (B.X - A.X) + (B.Y - A.Y) * (B.Y - A.Y));

cout<<z<<endl;

}

private:

int X,Y;

};


Point::Point(int X, int Y)

{

this->X = X;

this->Y = Y;

countP++;

}

Point::Point(Point &p)

{

X = p.X;

Y = p.X;

countP++;

}

int Point::countP = 0;

int main()

{

Point D(3,4), *p;

Point E(D);

p = &E;

void(*q)(Point, Point) = Point::GetC;

(*q)(D,E);

return 0;

}


a). 2

a). 4

a). 3

a). 0



9. print函数声明为void print(int a, char b=’b’,int c=1); 下面函数调用正确的是()

a) print(5, 8);

b) print(5,’#’,2)

c) print(5,’#’)

d) print(‘a’)

10.  有一下程序

程序的运行结果是1 3 5 7 9,请为横线处选择合适的程序()

a). A

a). A(i)!=’\0’

a). A.length==5

a). !A.empty()


11.  有如下C语言程序

a). 0,1

b). 1,2

c). 0,0

d). 12,13


12.  有以下程序

程序运行的结果是()

a. B:book1

b. B:book2

c. P:book1

d. P:book2


13.  在iOS中,SirKit可以支持支持一下哪些功能?

①           语音通话

②           发送消息

③           发送或接收付款

④           搜索视频

⑤           约车

⑥           管理健身

⑦           视频通话

a.    ①②③④⑥

b.    ①②③④⑤⑥⑦

c.     ①②④⑤⑥

d.    ①②③⑤⑥⑦


14.  对于关键码集合K={22, 11,38,68, 43,6,10,48},用筛选法创建最小堆时,从关键码()开始调整

a) 68

b) 38

c) 22

d) 48


15.  定义一个线程安全的属性时,需要用到哪个关键字()

a) atomic

b)      其他都不是

c) weak

d) strong

16. IP数据报的收发方进行跨网投递时,发送方需利用ARP协议获取哪些信息()

a)       发送方本网段路由器对应端口的MAC地址

b)      接收方IP地址的MAC地址

c)       发送方IP地址的MAC地址

d)      接收方本网段路由器对应端口的MAC地址

17. iOS中,字符串属性中说法正确的是()

a)       字符串可以直接赋值,可以使用assign

b)      字符串属性必须使用copy

c)       使用copyretain没有任何区别

d)      字符串属性使用copy更安全

18.  以下关于KVC说法正确的是()

a) KVC是一种间接访问对象属性的机制

b) KVC指的是“Key-Value Observing

c) KVC可以访问私有变量,但不可以进行修改

d)      当对象的属性值改变时,我们能收到一个通知

19. iPhone X状态条像素为多少?

a) 32px

b) 20px

c) 22px

d) 44px

20.  以下代码会输出什么:

a. Testin    sting

b. Testi     sting

c. Testi     sti

d.    其他都不是

21.  下列哪种算法平均情况,最好情况和最坏情况下的时间复杂度都为O(n^2)()

a)       冒泡排序

b)      归并排序

c)       直接选择排序

d)      直接插入排序

22.  待排序元素规模较小时,宜选取哪种排序算法效率最高()

a)       冒泡排序

b)      归并排序

c)       希尔排序

d)      堆排序

23.  利用动态规划计算下列矩阵连乘:A1(20*25)A2(25*5)A3(5*15)A5(10*20)A6(20*25)

a) (A1A2A3)((A4A5)A6)

b) (A1A2)(((A3A4)A5)A6)

c) (A1A2)((A3(A4A5))A6)

d) (((A1((A2A3)A4))A5)A6)

24.  下面程序的执行结果为()

a) 11

b) 21

c) 13

d) 17

25.  使用快速排序算法对序列91382357102919进行排序,基准数取9,则第一趟排序后的结果为()

a) 91382357101929

b) 91382357102919

c) 13892357102919

d) 71385923102919

26.  设二叉排序树由(54,28,16,34,73,62,95,60,26,43)构成如下图二叉树,则在该树中查找任意指定元素的平均查找长度为()

a) 1.2

b) 2.9

c) 4.1

d) 5.4


27.  代码:HANDLE hMutexSuicide=::OpenMute(SYNCHRONIZE,FALSE,g_szMutexName);其中FALSE的作用是()

a)       设置缺省的安全性

b)      不需要向下传递

c)       不继承句柄

d)      不需要同步

28.  为了极大程度避免内存泄漏、循环引用和较大内存消耗以下说法错误的是()

a)       对子对象使用_strong,对父对象使用_weak

b)      对于闭包属性使用copy关键字

c)       避免大量的单利

d)      对数值属性使用weak关键字

29. iOS中,关于对属性作用的描述正确的是()

a)       属性可以简化繁琐代码

b)      属性是用来快速生成类的对象

c)       属性可以优化程序运行描述

d)      属性是用来保护线程安全的

30.  一下代码中错误的是

a) myTimer对象未通过[[myTimer alloc] init]方法初始化

b) doSomeThing缺少参数

c)       没有将timer加入runloop

d)      忘记传递数据给userInfo


31. Objective-C语言中类的实例变量如果只可以被本类和其子类访问,需要下列下列哪个修饰符:

a) @private

b) @protected

c) friendly

d) public

第二部分,编程题

第一题 城市修建

题目描述:

有一个城市需要修建,给你N个居民的坐标XY,问把这么多居民全部都包进城市的话,城市所需的最小面积是多少(注意,城市为平行于坐标轴的正方形)

输入

第一行为N,表示具名数目(2 <=N<=1000)

下面为N行,每行两个数字X1Y1,表示该居民的坐标(-1e9<=xi,yi<=1e9

输出

城市所需最小面积

样例输入

2

0 0

2 2

样例输出

4

Hint

补充样例

输入样例2

2

0 0

0 3

输出样例2

9


第二题 看花

题目描述

小明有一个花园,花园里面一共有m朵话,对于每朵花,都是不一样的,小明用1~m中的一个整数表示每一朵花。

他很喜欢去看这些花,有一天他看了n次,并将n次他看花的种类是什么按照时间顺序记录下来。

记录用a[i]表示,表示第i次他看了a[i]这朵花。

小红很好奇,她又Q个问题,问[l,r]的时间内,小明一共看了多少朵不同的花儿,小明因为忙着欣赏他的花儿,所以想请你帮他回答这些问题。

输入

输入两个数n,m;(1 <= n<= 2000, 1<= m <= 100);分别表示n次看花,m表示一共有m朵花儿。

接下来输入n个数a[1]~a[n]a[i]表示第i次,小明看的花的种类;

输入一个数Q(1 <= Q <= 1000000);表示小红的问题数量。

输入Q行,每行两个数l,r(1 <= l <= r <= n);表示小红想知道在第l次到第r次,小明一共看了多少不同的花儿。


输出

一共Q

每行输出一个数 表示小明在[l,r]的时间内看了多少种花。

样例输入

5 3

1 2 3 2 2

3

1 4

2 4

1 5

样例输出

3

2

3


第三题 Array

小红有两个长度为n的排列AB。每个排列由[1,n]数组成,且里面的数字都是不同的。

现在要找到一个新的序列C,要求这个新序列中任意两个位置(I,j)满足:

如果在A数组中C[i]这个数在C[j]的后面,那么在B数组中需要C[i]这个数C[j]的前面。

请问C序列的长度为多少呢?


输入

第一行一个整数,表示N

第二行N个整数,表示A序列。

第三行N个整数,表示B序列。

满足:N <= 50000

输出

输出最大的长度


样例输入

5

1 2 4 3 5

5 2 3 4 1

样例输出

2


#校招##笔试题目##360公司##iOS工程师#
全部评论

相关推荐

1 7 评论
分享
牛客网
牛客企业服务