iOS面试题(二)

1.self.和self的区别?id,nil代表什么?

2.NSDate如何格式化输出?对于格式是否有要求?

实例化一个NSDateFormatter对象NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];//设定时间格式,这里可以设置成自己需要的格式[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];//用[NSDate date]可以获取系统当前时间NSString *currentDateStr = [dateFormatter stringFromDate:[NSDate date]];//输出格式为:2010-10-27 10:22:13NSLog(@"%@",currentDateStr);//alloc后对不使用的对象别忘了release[dateFormatter release];

3.请列举NSString的操作方法,拼接,追加,替换,查找,长度

4.CGFloat可以和0作比较么?可以是0么?

5.@synthesize xxx的功能

和@property成对出现,@property是声明属性,@synthesize是实现了getter和setter方法

参考:http://my.oschina.net/iamzkt/blog/126503#comments

            http://moto0421.iteye.com/blog/1577459

6.object-c类别的作用?写一个简单的实现

  1. #import <Foundation/Foundation.h>  
  2.   
  3. /* 
  4. 定义分类的过程大致可分为以下几个步骤: 
  5.     第一步、创建一个带有接口的新文件,即创建已有类 
  6.   
  7.     第二步、在新文件中添加需要扩展的方法及方法的实现,即需要添加的分类 
  8.  */  
  9. //NSString 表示将要添加分类的类名称,该类必须是已存在的。  
  10. //CamelCase 是为类添加的方法名称。  
  11. //只能添加方法,不能添加变量。  
  12. //头文件命名惯例:ClassName+CategoryName.h  
  13. @interface NSString (CamelCase)  
  14.   
  15. -(NSString*) camelCaseString;  
  16.   
  17. @end  
  18.   
  19. @implementation NSString (CamelCase)  
  20.   
  21. -(NSString*) camelCaseString  
  22. {  
  23.     //调用NSString的内部方法获取驼峰字符串。  
  24.     //self指向被添加分类的类。  
  25.     NSString *castr = [self capitalizedString];  
  26.       
  27.     //创建数组来过滤掉空格, 通过分隔符对字符进行组合。  
  28.     NSArray *array = [castr componentsSeparatedByCharactersInSet:  
  29.                       [NSCharacterSet whitespaceCharacterSet]];  
  30.       
  31.     //把数组的字符输出  
  32.     NSString *output = @"";  
  33.     for(NSString *word in array)  
  34.     {  
  35.         output = [output stringByAppendingString:word];  
  36.     }  
  37.       
  38.     return output;  
  39.       
  40. }  
  41.   
  42. @end  
  43. int main (int argc, const char * argv[])  
  44. {  
  45.       
  46.     NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];  
  47.       
  48.     NSString *str = @"My name is bill.";  
  49.     NSLog(@"%@", str);  
  50.     str = [str camelCaseString];  
  51.     NSLog(@"%@", str);  
  52.       
  53.     [pool drain];  
  54.     return 0;  
  55. }

7.int a[1000],存放1-1000任意整数,现在里面有一个数值重复了,只扫描一遍找出




里面也有不会的,后续会补充,如果会请留言,谢谢

深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值