面试题目大全


面霸计划java

一.面试题node

1.Objective-C 有多重继承么?不是的话有什么替代方法。ios

2.@class的做用是什么?面试

3.Xcode项目的目录结构是怎么分组的?算法

4.简单介绍下在真机上调试开发证书申请流程.sql

5.Retain,copy,assign三个关键字的区别数据库

6.按Home键时,怎么保存程序运行状态编程

7.当程序运行过程当中,按下home键之后,ios程序会调用哪一个代码。数组

8.怎么定义/实现一个协议xcode

9.对于语句NSString *obj = [[NSData alloc] init]; obj在编译时运行时分别是什么类型。

10.在iPhone应用中如何保存数据

11.代理的做用

12.oc中可修改和不能够修改类型。

13.咱们说的oc是动态运行时语言是什么意思?

14.通知和协议的不一样之处

15.什么是推送消息

16.使用xcode建立工程时,支持同时建立的版本管理库是

17.使用codedata有哪一种持久化存储机制

18.请描述一下UIViewController的生命周期

19.请描述ObjectC的内存管理机制以及通常原则?

20.如何判断一个对象是否属于某个类和ObjectC如何实现私有方法?

21.视图控制器之间的通讯方式有哪些(如何传递变量)

22.浅复制和深复制的区别

23.类别的做用?继承和类别在实现中有何区别

24.类别和类扩展的区别

25.oc中的协议和java中的接口概念有何不一样

26.什么是KVO和KVC

27.堆和栈的区别

28.定义属性时,什么状况使用nonatomic,atomic,copy,assign和retain

29.runloop是什么?在主线程中的某个函数里调用了异步函数,怎么样block当前线程,且还能相应当前线程的time事件和touch事件。

30.在一个对象的方法里面:self.name = "object";和 name = "object";  有什么不一样吗?

31.NSArray和NSSet有何区别

32.如何在object-c中,声明私有变量和私有方法

33. 开发过程当中应用程序内存泄露了该怎么办

34.ios开发中有什么方式支持多继承

35. 数学题从1-20中有两个任意数 ,A知道2个数字的和,B知道两个数组的乘积,

 A问B  你知道这个两个数字的吗?   B说不知道

 B问A  那你知道这两个数字吗  A说不知道

 B说,哦,我知道了

 A说,我也知道了

 请问这两个数字是多少

37.

 

(牛牧)大公司面试题

1.SEL和@selector的含义和做用?

2.SEL是OC中的另外一种消息传递机制。运行时调用特色,和多线程方面特色是什么?

3.performSelector方法的使用场景。在mainThread中,实现这个方法的做用。

4. NSOperation 和CGD不一样点是什么,有什么好处,怎样区别使用?

5.OC中有没有相似其余面向对象语言异常捕获机制?若是有异常exception 怎么捕获?不一样的CPU结构上开销怎样?C++中又什么相似的方法?

6.内存管理的几条原则时什么?按照默认法则.那些关键字生成的对象须要手动释放?在和property结合的时候怎样有效的避免内存泄露?

7.在一个对象释放前.若是他被加到了notificationCenter 中.不在notificationcenter中remove这个对象可能会出现什么问题?会不会有问题?

8.怎样实现一个 singleton的类.给出思路。

9.什么是序列化或者Acrchiving,能够用来作什么,怎样与copy结合,原理是什么?

10在iphone上有两件事情要作,请问是在一个线程里按顺序作效率高仍是两个线程里作效率高?为何?

11.你是否接触过OC中的反射机制?简单聊一下概念和使用。

12.帐号登陆验证以及帐号加密保存?聊聊所用技术和实现逻辑。

13.三方支付、加密算法【AES、MD五、3DES+BASE64d等】的问题。

14.TCP,IP,UDP,socket网络方面的问题

15. ios四、五、6相对于以前的版本添加了哪些新特性?

16.一个tableView是否能够关联两个不一样的数据源?你会怎么处理?

17.Object C中建立线程的方法是什么?若是在主线程中执行代码,方法是什么?若是想延时执行代码、方法又是什么?

18.ARC自动引用技术

19. 内存告警机制是什么?何时调用?举例说明(通常他会提示多控制器加载或跳转时候的状况)

20.聊聊GCD ,解决多核并行运算的一种方案。

 

 

 

二.笔记题

1.

{

    int outA = 8;

    int (^myPtr)(int) = ^(int a){return outA+a;};

    outA = 5;

    int result = myPtr(3);

    }

result =

}

2.求引用计数

    NSString *strTest = @"strTest";

    NSString *stra = [NSString stringWithFormat:@"str.%@",strTest];

    

    [strTest retainCount] =

[stra retainCount] =

3.标准头文件都有相似如下结构,主要做用是什么?

#ifndef _INCvxWorksh

#define _INCvxWorksh

#ifdef _cplusplus

extern "C" {

#endif

/*...*/

#ifdef _cplusplus

}

#endif

#endif /* _INCvxWorksh */

4.下列程序输出结果

    main()

    {

        int a[5] = {1,2,3,4,5};

        int *ptr = (int *)(&a+1);

        printf(“%d,%d”,*(a+1),*(ptr -1));

    }

5.此段代码有何做用

 -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtLndexPath(NSIndexPath *)indexPath

{

    static NSString *CellDentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellDentifier];

    if(cell == nil){

cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellDentifier] autorelease];

    }

    

    // Configure the cell…

    return cell;

}

6.请本身实现NSString * _namel;-(vold)setName:(NSString*)name方法

- (void)setName:(NSString *)name

{

    

}

7. 下面一段代码的区别:(都是主线程调用,若是有问题,请指出问题)

[self  func( )];

[self  performSelector:func( )  onMainThread:];

8. 从1-n个五序列的数字中排序的算法有哪些,简单代码实现一个并写出时间复杂度 

9. 开启一个其余线程来计算1+1 而且把结果用主线程显示在label上更新UI

10.有一个6克和21克的砝码,怎样称量三次将420克的糖分红270克和150克

11. 一桌子人,每一个人额头上都贴有标签,绿色和红色,绿色至少1个,你们都能看到别人头上的标签,看不到本身头上的标签,而后开始闭眼游戏,你们以为本身头上是绿色标签就拍一下手掌,第一次闭眼没人拍掌,第二次,第三次也一样没有人拍掌,第四次有一我的拍掌了,请问绿色标签有几张?

 

大公司笔记题

 

1.ios平台怎么作数据的持久化?coredata和sqlite有无必然联系?coredata是一个关系型数据库吗?

属性列表、对象归档、NSUserDefault、SQLite3和Core Data

 

2.下面代码片断是否存在问题:(有问题请描述问题。无问题请写出输出结果)

NSString *tmpString = nil;

Int strLength = [tmpString length];

NSLog(@”%d”, strLength);

3.有一个刚刚建立的对象,把它们添加到一个可变数组中,若是释放这个对象,会发生什么?若是释放数组会发生什么?

4.viewDidUnload方法何时调用,做用是什么?若是内存告警状况下,你会在这个方法中作些什么事情?具体回答

5.viewDidAppear  viewWillDisappear 是什么方法,做用。

6.这段代码有什么问题:
@implementation Person
- (void)setAge:(int)newAge {
self.age = newAge;
}
@end

7.什么是retain count?
8.如下每行代码执行后,person对象的retain count分别是多少
Person *person = [[Person alloc] init];
[person retain];
[person release];
[person release];

 

9.这段代码有什么问题,如何修改
for (int i = 0; i < someLargeNumber; i++)
{
NSString *string = @”Abc”;
string = [string lowercaseString];
string = [string stringByAppendingString:@"xyz"];
NSLog(@“%@”, string);
}

10.ViewController 的 loadView, viewDidLoad, viewDidUnload 分别是在何时调用的?在自定义ViewController的时候这几个函数里面应该作什么工做?

 

11. 这段代码有什么问题.?会不会形成内存泄露(多线程)?在内存紧张的设备上作大循环时自动释放池是写在循环内好仍是循环外好?为何?

for(int index = 0; index < 20; index ++){

    NSString *tempStr = @”tempStr”;

    NSLog(tempStr);

    NSNumber *tempNumber = [NSNumber numberWithInt:2];

    NSLog(tempNumber);

}

12.IOS消息传递机制都有什么?如何传递?

13.方法和选择器有何不一样?

14.OBC中有无垃圾回收机制?
和ARC同样么?

15.一个视图控制器中嵌入两个tableview控制器?

16.Object-c的类能够多重继承么?能够实现多个接口么?Category是什么?重写一个类的方式用继承好仍是分类好?为何?

17.nonatomic   atomic 是什么?有什么异同?为何建立变量时要用到这两个词修饰?他们跟多线程是否有关?为何?

18.描述一下iOS SDK中如何实现MVC的开发模式。

19.Object-C有私有方法吗?私有变量呢?

20.自动释放池是什么,如何工做?

21.单件实例是什么?

 

三.算法题

1.检测两条链表是否想交,是则返回第一个交点,不然返回NULL。

node * detect_intersect_links

 

(node *first_link,node *second_link)

四.编程题

1.请写出“快速排序”或者描述实现过程原理

2.用NSLog函数输出一个浮点数,结果不四舍五入,而且保留一位小数?

3.用你熟悉的语言写一个方法判断20121229(阶乘)在十进制下是几位数?

4.如今要作一个汽车360的动画,应该如何作。

相关文章
相关标签/搜索