腾讯公司ios面试题
“随风船”通过精心收集,向本站投稿了12篇腾讯公司ios面试题,下面小编为大家整理后的腾讯公司ios面试题,欢迎阅读与借鉴!
篇1:腾讯公司ios面试题
1。简述push原理,push的证书和其它的右什么不一样?
2。viewcontroller的一些方法的说明viewDidLoad, viewWillDisappear, viewWillAppear方法的 顺序和 作用?
3。frame 和 bounds 的 区别 ,bound的大小改变frame 改变吗?
4。sqlite中插入特殊字符的方法和接收到处理方法。
5。谈谈你对数组和连表认识,还有你是怎么用他们的?
6。冒泡算法。
7。socket编程简述
8。asihttp代码原理 ,异步请求的原理,异步请求最大数目,为什么只能这么多?
9。http请求方式?
10。uiview的圆角属性设置方法。
(m_mainImgView.layer.cornerRadius = 6;
m_mainImgView.layer.masksToBounds = YES;)
11。 masksToBounds属性的作用。(决定子layer是否被当前layer的边界剪切。默认是NO。)
[腾讯公司ios面试题]
篇2:腾讯面试题
请将答卷、作品及简历压缩后发送到:campus@tencent.com 邮箱,投递作品请在主题标明:职位+地区+学校+姓名,如:用户研究+北京+北京大学+张三
一、 耐心填一填!(每空4分,共24分)
1. 为div设置类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. 不换行必须设置( a )
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. 在不涉及样式情况下,页面元素的优先显示与标签选用无关。 ( √ )
四、一个文件中有40亿个整数,每个整数为四个字节,内存为1gb,写出一个算法:求出这个文件里的整数里不包含的一个整数。下面的代码片段仅仅是一个样例。
4个字节的整数最大可表示为2^32=4294967296, 一个数一个数的读入内存,建立一个bit map,共需要4294967296个bits(也就是0.5g字节的内存,并没有超过1g内存的限制),读入每一个数,置相应的bit为1。
1 int n = 20; // # of number
2 int m = 1000; // number range
3 std::vector
4 for (int i = 0; i < n; i++)
5 a[i] = (int)rand%m;
6 std::copy(a.begin(), a.end(), std::ostream_iterator
7 std::cout << “\n”;
8 // bit map setup for existence of each number
9 unsigned int nbytes = m%8 ? (m/8+1) : (m/8);
10 std::cout << “nbytes = ” << nbytes << “\n”;
11
12 char* p = new char [nbytes];
13 memset(p, 0, sizeof(char)*nbytes);
14
15 for (int i = 0; i < n; i++) {
16 unsigned int index = a[i]/8;
17 unsigned int bitpos = a[i]%8;
18 char* tmp = p+index;
19 *tmp |= 1 << bitpos;
20 //std::cout << “bit pos set to 1 : ” << 8*index+bitpos << “\n”;
21 }
22 for (int i = nbytes-1; i >= 0; i--) {
23 printf(“%02x ”, (char)*(p+i)&0xff);
24 }
25 std::cout << “\n”;
26 delete [] p;
篇3:腾讯面试题
1. 根据以下代码?
int ack(int m,int n)
{
if(m == 0)
return n + 1;
else if(n == 0)
return ack(m-1,1);
else
return ack(m C 1 , ack(m , n-1));
}
如果ack(3,3),。结果为多少
2. 请设计一个排队系统,能够让每个进入队伍的用户都能看到自己在队列中所处的位置和变化,队伍可能随时有人加入和退出;当有人退出影响到用户的位置排名时需要及时反馈到用户。
3. A,B两个整数集合,设计一个算法求他们的交集,尽可能的高效。
我的回答的:如果对于数据较小(10W以下)我会采取哈希的方法去求数集较小的那个集合的hash值存在hash表中,然后对另一个表中每一个数进行hash,如果在hash表中找到则这个数是交集的数,输出。这个算法时间效率是O(n+m),空间效率O(3n+m);(因为hash几乎浪费掉一半空间)
对于大数据,我则先把数据hash%100的样子分到许多个小文件中,然后对这些hash值的次数建立一颗二叉查找树,遍历另一个集合的数来找,找到一个就输出一个,最后得到集合数。算法效率是O(n/100*m*log(n/100)),空间效率O(n+m)
4.怎么在linux下查找一个文件中有多少个给定的字符串
答:这题本来想考察我的shell编程的能力吧,不过我说这个不会,然后他问我如果写程序实现呢
我答我会用trie树去记录字符串出现的次数
然后有被问道更深入一点的,如果文件过大呢?
我答,那就把文件内容hash取模分成多个足够小的文件,然后每个小文件trie记录结果,输出一个小文件,最后把所有结果文件合并就可以得到最终结果
5. 写二叉查找树的查找算法,答案就不写了,简单。
写完之后,面试官又问我由这里到一个什么地方的,要求最短时间,怎么求
这个就是问最短路算法,我就答了这个,然后他又问我怎么知道去的路径通不通,我答用传递闭包去计算,
他问我如何传递闭包,然后我就画图演示了一下这个过程
6. 进程与线程的区别
这题我答得非常不好,我只答了进程有资源,线程没资源,进程个数有限,而线程的个数几乎不限,进程的调度慢,线程的调度快这些基础点
但是被问到为什么进程调度比线程慢时,我答不出,我答是因为用户态和内核态的转换造成的,但是百度一下,答案应该是因为线程调度是在进程中进行,在同一存储区内操作,而进程则在不同存储区操作,所以进程调度数度比线程慢
7. 问我TCP/IP有多少层
我答OSI标准有7层,但是目前工业大多使用5层的标准,然后回答了一下这些标准,我只会答5层标准的那一个。。。
接着又问我IP层(网络层)的作用,
我答了很多,又说了什么TCP、UDP的,然后在面试官的知道下,我才答出,网络层的作用是映射作用,主要是IP和MAC地址、端口的映射(我不知道对不对。。)
接着又问我TCP和UDP的区别
我就答,TCP是有连接的,UDP是无连接的,TCP通过三次握手保证数据的可靠性,UDP则没有
最后还问我滑动窗口的东西,我就答了滑动窗口是为了保证数据被客户端正确接收了,他又问我为什么能保证,然后我就画图演示滑动窗口的发送、接收、移动过程
8:写一个函数,计算给定的一个整数中有多少个0
篇4:腾讯面试题
1. 自我介绍
2. 项目介绍,用了什么算法
3. TCP/IP 三次握手,??攻击
4. vector怎么实现动态空间分布;map用什么实现的;红黑树是什么,有什么特点;hashtable怎么实现的
5. 一个结构, 有一个long和char的变量,它们的大小是多少;有没有其它的答案,比如64位
6. 你觉得C++里面的const是怎么实现的
7. 进程和线程的区别?(答得不好,老生常谈的问题,可是我没有好好准备。)
8. 进程间通信的方式
9. 生产者消费者模型;怎么样效率高;不同步怎么实现。(后来他说解决问题的能力也很重要,不同步怎么实现,我没有去想,其实我可以想出来的,轮询办法,只是我觉得效率不高,所以不说了。以后还是要说,懂什么说什么,有什么看法就说出来,面试官可能就想知道这点。这还是体现了我的完美的主义,觉得不好就不说了,你不说出来人家怎么知道你怎么想的。要改掉这个毛病)
10. 你知道负载吗?其实就是load。
11. 适配器模式。要好好复习设计模式。
12 你还有什么问题想问的?你什么擅长,我没有了解到。我应该说了解父进程子进程,文件系统等。可是我这些没有补充上去。还是没有认真对待,临场不想发挥。
13. 面试官最后说我们要求的技术,你简历上都写了。
[腾讯面试题]
篇5:iOS面试题集合
1. Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么?
答: Object-c的类不可以多重继承;可以实现多个接口,通过实现多个接口可以完成C++的多重继承;Category是类别,一般情况用分类好,用Category去重写类的方法,仅对本Category有效,不会影响到其他类与原有类的关系。
2. #import 跟#include 又什么区别,@class呢, #import 跟 #import””又什么区别?
答:#import是Objective-C导入头文件的关键字,#include是C/C++导入头文件的关键字,使用#import头文件会自动只导入一次,不会重复导入,相当于#include和#pragma once;@class告诉编译器某个类的声明,当执行时,才去查看类的实现文件,可以解决头文件的相互包含;#import用来包含系统的头文件,#import””用来包含用户头文件。
3. 属性readwrite,readonly,assign,retain,copy,nonatomic 各是什么作用,在那种情况下用?
答:
1). readwrite 是可读可写特性;需要生成getter方法和setter方法时
2). readonly 是只读特性 只会生成getter方法不会生成setter方法 ;不希望属性在类外改变
3). assign 是赋值特性,setter方法将传入参数赋值给实例变量;仅设置变量时;
4). retain 表示持有特性,setter方法将传入参数先保留,再赋值,传入参数的retaincount会+1;
5). copy 表示赋值特性,setter方法将传入对象复制一份;需要完全一份新的变量时。
6).nonatomic 非原子操作,决定编译器生成的settergetter是否是原子操作,atomic表示多线程安全,一般使用nonatomic
4.写一个setter方法用于完成@property (nonatomic,retain)NSString *name,写一个setter方法用于完成@property(nonatomic,copy)NSString *name
答:
- (void) setName:(NSString*) str
{
[str retain];
[name release];
name = str;
}
- (void)setName:(NSString *)str
{
id t = [str copy];
[name release];
name = t;
}
5.对于语句NSString*obj= [[NSData alloc] init]; obj在编译时和运行时分别时什么类型的对象?
答: 编译时是NSString的类型;运行时是NSData类型的对象
6.常见的object-c的数据类型有那些,和C的基本数据类型有什么区别?如:NSInteger和int
答:object-c的数据类型有NSString,NSNumber,NSArray,NSMutableArray,NSData等等,这些都是class,创建后便是对象,而C语言的基本数据类型int,只是一定字节的内存空间,用于存放数值;NSInteger是基本数据类型,并不是NSNumber的子类,当然也不是NSObject的子类。NSInteger是基本数据类型Int或者Long的别名(NSInteger的定义typedef long NSInteger),它的区别在于,NSInteger会根据系统是32位还是64位来决定是本身是int还是Long。
7.id 声明的对象有什么特性?
答:Id 声明的对象具有运行时的特性,即可以指向任意类型的objcetive-c的对象;
8.Objective-C如何对内存管理的,说说你的看法和解决方法?
答:Objective-C的内存管理主要有三种方式ARC(自动内存计数)、手动内存计数、内存池。
1). (Garbage Collection)自动内存计数:这种方式和java类似,在你的程序的执行过程中。始终有一个高人在背后准确地帮你收拾垃圾,你不用考虑它什么时候开始工作,怎样工作。你只需要明白,我申请了一段内存空间,当我不再使用从而这段内存成为垃圾的时候,我就彻底的把它忘记掉,反正那个高人会帮我收拾垃圾。遗憾的是,那个高人需要消耗一定的资源,在携带设备里面,资源是紧俏商品所以iPhone不支持这个功能。所以“Garbage Collection”不是本入门指南的范围,对“Garbage Collection”内部机制感兴趣的同学可以参考一些其他的资料,不过说老实话“Garbage Collection”不大适合适初学者研究。
解决: 通过alloc Cinitial方式创建的, 创建后引用计数+1, 此后每retain一次引用计数+1, 那么在程序中做相应次数的release就好了.
2). (Reference Counted)手动内存计数:就是说,从一段内存被申请之后,就存在一个变量用于保存这段内存被使用的次数,我们暂时把它称为计数器,当计数器变为0的时候,那么就是释放这段内存的时候。比如说,当在程序A里面一段内存被成功申请完成之后,那么这个计数器就从0变成1(我们把这个过程叫做alloc),然后程序B也需要使用这个内存,那么计数器就从1变成了2(我们把这个过程叫做retain)。紧接着程序A不再需要这段内存了,那么程序A就把这个计数器减1(我们把这个过程叫做release);程序B也不再需要这段内存的时候,那么也把计数器减1(这个过程还是release)。当系统(也就是Foundation)发现这个计数器变成员了0,那么就会调用内存回收程序把这段内存回收(我们把这个过程叫做dealloc)。顺便提一句,如果没有Foundation,那么维护计数器,释放内存等等工作需要你手工来完成。
解决:一般是由类的静态方法创建的,函数名中不会出现alloc或init字样, 如[NSString string]和[NSArray arrayWithObject:], 创建后引用计数+0, 在函数出栈后释放, 即相当于一个栈上的局部变量. 当然也可以通过retain延长对象的生存期.
3). (NSAutoRealeasePool)内存池:可以通过创建和释放内存池控制内存申请和回收的时机.
解决:是由autorelease加入系统内存池, 内存池是可以嵌套的, 每个内存池都需要有一个创建释放对, 就像main函数中写的一样. 使用也很简单, 比如[[[NSStringalloc]initialWithFormat:@”Hey you!”] autorelease], 即将一个NSString对象加入到最内层的系统内存池, 当我们释放这个内存池时, 其中的对象都会被释放.
9. 原子(atomic)跟非原子(non-atomic)属性有什么区别?
答:
1). atomic提供多线程安全。是防止在写未完成的时候被另外一个线程读取,造成数据错误
2). non-atomic:在自己管理内存的环境中,解析的访问器保留并自动释放返回的值,如果指定了 nonatomic ,那么访问器只是简单地返回这个值。
10. 看下面的程序,第一个NSLog会输出什么?这时str的retainCount是多少?第二个和第三个呢? 为什么?
NSMutableArray* ary = [[NSMutableArray array] retain];
NSString *str = [NSString stringWithFormat:@“test”];
[str retain];
[aryaddObject:str];
NSLog(@”%@%d”,str,[str retainCount]);
[str retain];
[str release];
[str release];
NSLog(@”%@%d”,str,[str retainCount]);
[aryremoveAllObjects];
NSLog(@”%@%d”,str,[str retainCount]);
str的retainCount创建+1,retain+1,加入数组自动+13
retain+1,release-1,release-1 2
数组删除所有对象,所有数组内的对象自动-1 1
11. 内存管理的几条原则时什么?按照默认法则.那些关键字生成的对象需要手动释放?在和property结合的时候怎样有效的避免内存泄露?
答:谁申请,谁释放
遵循Cocoa Touch的使用原则;
内存管理主要要避免“过早释放”和“内存泄漏”,对于“过早释放”需要注意@property设置特性时,一定要用对特性关键字,对于“内存泄漏”,一定要申请了要负责释放,要细心。
篇6:ios基础面试题
如下分享的ios基础面试题,对计算机专业求职者来说,应该会很实用,欢迎大家收藏和。
1、Object-C有多继承吗?没有的话用什么代替?
2、Object-C有私有方法吗?私有变量呢?
3、关键字const什么含义?
4、关键字volatile有什么含义?并给出三个不同例子?
5、static作用?
6、#import和#include的区别,@class代表什么?
7、线程和进程的区别?
8、堆和栈的区别?
9、Object-C的内存管理?
10、为什么很多内置的类,如TableViewController的delegate的属性是assign不是retain?
11、定义属性时,什么情况使用copy、assign、retain?
12、对象是什么时候被release的?
13、iOS有没有垃圾回收?
14、tableView的重用机制?
15、ViewController 的loadView、viewDidLoad、viewDidUnload分别是什么时候调用的,在自定义ViewCointroller时在这几个函数中应该做什么工作?
16、ViewController的didReceiveMemoryWarning是在什么时候调用的?默认的操作是什么?
17、列举Cocoa中常见的集中多线程的实现,并谈谈多线程安全的几种解决办法,一般什么地方会用到多线程?
18、怎么理解MVC,在Cocoa中MVC是怎么实现的?
19、delegate和notification区别,分别在什么情况下使用?
20、self.跟self什么区别?
21、id、nil代表什么?
22、内存管理 Autorelease、retain、copy、assign的set方法和含义?
23、类别的作用?
24、委托(举例)
25、retainCount?
更多经典的面试试题分享:
iPhone软件开发面试题
九种最难缠的面试题
银行面试常见问题
房地产销售面试题目
篇7:阿里巴巴ios面试题
“下水井盖为什么是圆的?”
“全世界有多少辆汽车?”
不知道有多少“微软面试题”,“google面试题”在网上到处流传。
其实恰恰反了,这些不着调的面试题,并不因为它是微软和google的面试题就变得高深莫测。之所以会有这样的题目出现,正是以其极度的不靠谱反衬了这些大公司对“过程比答案重要”的诠释,和对自己的面试官面试的把控能力的信心。
对于一个合格的面试官来说,问题只是话题的起点。所以精心准备的答案可能在面试官的一次追问后全盘崩溃,一开始支支吾吾的面试者,也可能在面试官逐渐的引导下展示出自己的能力。
我常常提一个观点,面试和考试不同,面试可能因为一个问题答得好而通过,也可能因为一个回答不好而通过。其实面试只有结果,没有分数。设想以下场景:
“能解释一下http协议中302这个状态码是什么吗?”,“我不记得了。” (0分)
“能解释一下http协议中302这个状态码是什么吗?”,“哦,记不清了,我只记得404是找不到页面,304是可以从缓存读取,5xx是服务端错误” (加分,了解一定http状态)
“能解释一下http协议中302这个状态码是什么吗?”,“啊,那个,应该是服务端错误吧?”(倾向于面试不通过,不了解的时候尝试猜测蒙混,这种特质对工作不利)
你看,同样的一个问题,同样是应聘者不知道问题的答案的情况,结果却大相径庭。
所以,面对面试题,过程重于结果,纠结于题目、准备答案是不会有任何意义的。
面试时该如何做呢?以下是我的几点建议:
厘清问题,必要时可以跟面试官沟通确认,避免误解,不但理解问题,还要同时思考面试官的意图
不急于开始回答,可以先分析问题,列举实际案例,争取思考时间
不限于回答问题,可以以对面试官意图的理解为基础,主动讲解相关知识,展示自己对相关领域的体系化思考
正面承认自己了解和不了解的东西,不敷衍,不猜测,有记不清的地方,可以正面要求面试官提示
以上四点,都是只有面试场景才能够使用的,这也是为什么我说“面试和考试不同”。
关于争论
技术相关岗位中,常常有这样的抱怨:“面试官技术比我弱怎么办?面试官跟我争论技术问题怎么办?”
通常情况下,面试官不应该也不会跟应聘者讨论技术问题本身,比如我,如果觉得应聘者回答错误,会尝试以追问的形式考查应聘者能否自圆其说,一些概念性错误,我则会追问其来源出处,直到对方无法回答。
当然,不怕一万,就怕万一,作为应聘者,万一遇到了这样的事情,而且面试官真的错了怎么办?
虽然面试官在这样的场景下天然强势,但其实也不是完全没有办法,有三点,至少可以缓解问题:
一、不要正面否定对方,尝试认同对方观点合理性,再从侧面反驳。
二、展示推理过程,从双方共同认可的观点出发,层层推理得出你的结论,在过程中,不断跟面试官讨论确认。
三、引述出处,使用专业词汇,使得面试官对你的观点天然产生敬畏,不敢草率否定。例如:
“说说为什么JavaScript是一门基于对象的语言而不是面向对象的语言?” “JavaScript明明就是面向对象啊?”(惨死,还是冤死)
“说说为什么JavaScript是一门基于对象的语言而不是面向对象的.语言?” “哦,JavaScript的语言规范ECMA262的序章里面提到过JavaScript是面向对象的语言,而ECMA262名词解释里也提到了JavaScript是基于对象的语言。在它这个定义里面,面向对象是指以对象为主要抽象工具,描述逻辑,基于对象是指基础库和运行时设施。
以对象为基础来设计。所以JavaScript既是面向对象,又是基于对象。JavaScript是基于对象的语言而不是面向对象这个说法我好像也听过,但是记不太清了,因为觉得语言规范比较权威嘛,呵呵”(说的有凭有据,又留足面子,至少得回去掂量一下……)
其实“不靠谱的面试官”很少出现,这样的突发情况并不是总能处理好,我们要尽最大努力,剩下的就凭运气了……
关于简历
一个人合适不合适,在面试前就决定了大半。一个简历看上去合格的应聘者,面试阶段可能只是确认简历上内容的真实性罢了。
有些应聘者,尤其是应届生特别容易受到各种传奇故事的感染,追求出位。其实简历只是信息的载体,不管它有多好看,不管你制作的多认真,最重要的还是它的内容。
所以,简历上最重要的是什么呢?各个岗位有所不同,下面是我对技术岗位的简历上比较看重的内容:
工作履历,尤其是上一份工作,公司名是否听过,公司档次,如BAT、FLG,岗位
教育经历,是否是top2 是否是国外名校,是否是985、211学校,是否有ACM竞赛获奖经历
技术社区贡献,blog是否有深度内容,是否有稳定更新,github上有没有高质量开源项目
项目经历,项目的规模,复杂程度,其中体现的
个性化内容:技术视野,个人成长经历,个人研究内容,学习方法
写简历的时候,首先要明白,HR或者主管查看简历的时候,一般只会花费1分钟,于是有以下几点建议
这其中次要信息越少,重要信息就越突出
任何复杂的排版方式,都会加大阅读困难
变色强调非常有用,可以突出重点,但是到处变色强调是灾难
技能列表,精通和熟悉,这些内容价值不高,偶尔还会惹麻烦
应届生常犯的错误是使用网上的各种简历模板,然后拼凑内容。没有项目经历硬造项目经历,找一些亲友开的公司硬挂靠顾问甚至总裁助理职位,这些东西会阻碍面试官看到真正有价值的内容。
正确的写简历方式是用一张白纸,先写好必要的个人信息和联系方式,然后列出所有你觉得自己做过的有价值的事和拿到的荣誉,按照从重要到不重要依次排列,再做简单的分类组织。
然后,问题来了,对很多人来说,这个列表是空的?怎么办?
我的建议是,既然是空的,那就不写,请把经历放在个性化内容上,从技术视野,个人成长经历,个人研究内容,学习方法中,选择一项,深入谈谈你做过的努力,这些也有可能打动面试官,比硬性拼凑的内容强过百倍。
了解招聘方
了解每个企业的部门结构和招聘节奏,非常有利于拿到offer。咳咳,现在是广告时间:
阿里巴巴的校园招聘分为春秋两季,每一季招聘又分为提前批次、正式招聘和补招三部分。
提前批次招聘不论是否通过都不影响参加后续招聘,是阿里各部门独立运作的招聘阶段,可谓额外的福利,可以找阿里内部的师兄师姐帮忙推荐到想去的部门,注意这个时候是没法改部门的,如果你有明确意向,务必说明。
正式招聘是阿里集团统一的招聘,会到全国主要城市面试,需要先通过网上答题笔试。如果笔试不过,霸王面也有微弱几率获得面试机会。
补招只针对未能参加校招面试的同学,会持续比较长时间,但是除非有特别情况正式招聘不通过的情况下无法参加。
现在正是提前批次招聘,对阿里无线前端有兴趣的同学,请投简历到 ali-mfe-hire@list.alibaba-inc.com
今年我们前端团队也在尝试变革,所以有Java和全栈岗位开放,同样投 ali-mfe-hire@list.alibaba-inc.com
篇8:腾讯技术性面试题
1.static有什么用途?(请至少说明两种)
1) 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。
2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。
3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用
2.引用与指针有什么区别?
1) 引用必须被初始化,指针不必。
2) 引用初始化以后不能被改变,指针可以改变所指的对象。
3) 不存在指向空值的引用,但是存在指向空值的指针。
3.描述实时系统的基本特性
在特定时间内完成特定的任务,实时性与可靠性。
4.全局变量和局部变量在内存中是否有区别?如果有,是什么区别?
全局变量储存在静态数据库,局部变量在堆栈。
5.什么是平衡二叉树?
左右子树都是平衡二叉树 且左右子树的深度差值的绝对值不大于1。
6.堆栈溢出一般是由什么原因导致的?
没有回收垃圾资源。
7.什么函数不能声明为虚函数?
constructor函数不能声明为虚函数。
8.冒泡排序算法的时间复杂度是什么?
时间复杂度是O(n^2)。
9.写出float x 与“零值”比较的if语句。
if(x>0.000001&&x<-0.000001)10.internet采用哪种网络协议?该协议的主要层次结构?< p=“”>
10.Tcp/Ip协议主要层次结构?
应用层/传输层/网络层/数据链路层/物理层。
11.Internet物理地址和IP地址转换采用什么协议?
ARP (Address Resolution Protocol)(地址解析协议)
12.IP地址的编码分为哪俩部分?
IP地址由两部分组成,网络号和主机号。不过是要和“子网掩码”按位与上之后才能区分哪些是网络位哪些是主机位。
13.用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。写出C程序。
循环链表,用取余操作做
14.不能做switch的参数类型是:
switch的参数不能为实型。
[腾讯技术性面试题]
篇9:腾讯 面试题 android
1根据上排给出十个数,在其下排填出对应的十个数, 要求下排每个数都是上排对应位置的数在下排出现的次数。
2上排的数:0,1,2,3,4,5,6,7,8,9。
3有很多个数字,它们的位数相同,存在一个文件中。数字很多,文件很大(G级,不能同时装到内存中),但是这些数字是有规律的:有一个出现了偶数次,其他的全部出现了奇数次。给一种算法把出现了偶数次的数字找出来。
4有1到10w这10w个数,去除2个并打乱次序,如何找出那两个数?
5给40亿个不重复的unsigned int的整数,没排过序的,然后再给几个数,如何快速判断这几个数是否在那40亿个数当中?
6有1000瓶水,其中有一瓶有毒,小白鼠只要尝一点带毒的水24小时后就会死亡,至少要多少只小白鼠才能在24小时时鉴别出那瓶水有毒
7在一个文件中有 10G 个整数,乱序排列,要求找出中位数。内存限制为 2G。
8一块长方形的蛋糕,其中有一个小长方形的空洞(角度任意)。使用一把直刀,如何一刀将蛋糕切成相等的两份?
9走廊里有100盏灯。每按一下会在开/关两种状态之间转换。
10有一个人,第一遍先将100盏灯都打开,第二遍按一下所有序号为2的倍数的开关;第三遍按一下所有序号为3的倍数的开关; 如此重复。
11第100遍的时候,他只能按一下序号为100的灯的开关。
12请问此时,有多少栈灯亮着?
[腾讯 面试题 android]
篇10:一道腾讯的面试题
面试题具体记不清了,但凭记忆大致是这样的:
A公司的企业文化偏于保守,在新产品发布之前严格保密,不走漏风声。而B公司则相反,它们会在发布新产品之前,就开始大力宣传推广,向潜在用户普及。问:两种公司文化,你更倾向于哪一种?为什么?
我想知道的是,这个问题是想考察什么?目的是什么?
[一道腾讯的面试题]
篇11:iOS开发、设计面试题
常见问题
你昨天/这周学习了什么?
你为什么热衷于软件开发?
你对哪一种控制系统比较熟悉?
是否参与过GitHub项目?
是否参与过GitHub或其他同类型网站的iOS开源项目?
请描述一下你的iOS应用开发流程。
是否熟知CocoaPods?它是什么?如何运行的?
请概括一下你对软件授权的理解,及其对软件开发的影响。
请概括一下你在构建iOS应用时的测试过程。iOS应用如何实现对其他语言、日期格式以及货币单位的支持?
请描述一下Instruments及其作用。
关于iOS技术
请解释一下Handoff是什么,并简述它是如何实现iOS、Mac/网页应用互通的。
iCloud包含了哪些技术与服务?
iOS扩展是指?能否列举一些热门或常见的范例?
HealthKit是什么?
HomeKit是什么?
Apple Pay是什么?能否描述一下如何在应用中使用Apple Pay?
请解释一下iOS应用沙盒机制。
VoiceOver是什么?请举例解释一下iOS中的辅助功能(Accessibility)。开发者如何使用这些功能?
iOS应用是如何实现后台多任务处理(Multitasking)的?
Game Center针对iOS游戏有哪些功能?
iBeacons是什么?
Cocoa/Cocoa Touch是什么?
请概括一下Core Audio,Core Data以及Core Location各是什么。它们对iOS应用有何意义?
请描述SpriteKit和SceneKit的作用。
Metal是什么?
响应链(Responder Chain)是什么?它是如何发挥作用的?
按钮和其他控制方式对哪些操作做出回应?
AppDelegate扮演着什么样的角色?
请解释一下NSUserDefaults。就你而言,你会如何在磁盘中对数组对象进行序列化?
你会如何储存用户的认证信息?
请问何为Keychain服务?
篇12:腾讯软件测试面试题
1. 自我介绍
2. 之前的工作内容,完成过的具体项目及职责
3.平时工作除了测试,做过其他什么工作?
4. 遇到版本迭代,如何处理测试工作
5. 如何编写测试用例,保证版本迭代
6. 测试经历中,最有成就的案例是?请详细介绍
7. 如有bug,如何和开发人员沟通
8. 测试用例的模型,如果发现迭代,如何优化版本
9. 流程有误觉得不好的地方,如果测试文档不全,如何与相关人员沟通
10. 遇到紧急上线,测试不能上线,如何和开发人员沟通
11. 如果产品上线出现bug,研发人员不认为是bug,测试人员不认为是bug,如何处理
12. 以往的工作中web测试的经验
13. http使用经验,操作系统的使用和数据库的使用
【腾讯公司ios面试题】相关文章:
1.腾讯面试题
3.ios个人简历
4.腾讯说说
5.ios开发者简历
8.面试题网站
9.人力资源面试题
10.戴尔面试题






文档为doc格式