乞力马扎罗的雪CYF的博客

与您分享IT技术,实现共同进步。

2017秋季校园招聘iOS开发岗位面试题集锦

笔者参加了2017秋季不少的校招iOS岗位面试,下面我把这些面试题都贴出来和大家共勉:一.搜狐快站1.谈谈你做过的项目;2.项目中最有成就感的部分;3.倒计时如何实现?(NSTimer,还有其他的实现方式吗);4.UIButton的继承关系?5.iOS中可以进行输入的控件?(UITextView,...

2016-12-06 00:55:18

阅读数 9248

评论数 6

国内大型门户网站iOS面试题

拿到该市值很高的门户网站offer颇不容易,总共经历了四面,其中前三面都是技术面,面试时间加起来120+ min。现在我把面试题和大家进行分享,希望在交流中实现共同进步。一面(16min)+二面(52min)1.一组正整数数字,如何找出两个数加为100的组合;(首先要排序)2.assign和wea...

2016-02-07 10:05:14

阅读数 4595

评论数 4

国内搜索大哥iOS面试题

每一次面试之后都会对问到的面试题进行总结。这篇总结的是我面试某大型搜索公司的iOS面试题,一面(15min)+二面(30min),并拿到实习offer。当然在今天这个特殊的节日,祝大家新年快乐,希望大家都能拿到合适的offer。一面电面:15min;1.算法:数组中(无序的正整数数)如何找到第n大...

2016-02-07 09:53:00

阅读数 3814

评论数 2

国内在线旅游巨头iOS面试题

首先今天祝大家新年快乐!如果你今天还在看这篇博客,那么你对写代码绝对是真爱。下面是我在面试某公司iOS开发实习生的面试题(拿到offer),今天作为福利分享给大家。一面技术面(90min)1.线程,有哪几种线程类型及使用;NSThread,NSOperationQueue,GCD;2.内存管理,内...

2016-02-07 09:42:44

阅读数 4096

评论数 0

Objective-C——atomic一定是线程安全的吗?

我们在学习OC的时候认为,atomic使用了原子性,保证了线程安全,事实真的是这样吗?      nonatomic的内存管理语义是非原子性的,非原子性的操作本来就是线程不安全的,而atomic的操作是原子性的,但是并不意味着它是线程安全的,它会增加正确的几率,能够更好的避免线程的错误,但是它仍然...

2015-11-06 20:47:19

阅读数 11325

评论数 2

Objective-C——retain/copy/assign/atomic/nonatomic/strong/weak/readonly/readwrite详解

【atomic/nonatomic】 (1)atomic[默认属性]:OC使用的一种线程保护技术,是防止在写未完成的时候被另外一个线程读取,造成数据错误。而这种机制是耗费系统资源的,所以在iPhone这种小型设备上,如果没有使用多线程间的通讯编程,那么nonatomic是一个非常好的选择。 (2)...

2015-11-06 19:33:29

阅读数 3228

评论数 4

Objective-C——协议(Protocol)详解与代理(委托)设计模式

协议的声明看起来类似一个类的接口,不同的是协议没有父类也不能定义实例变量。协议是一种特殊的程序设计结构,用于声明专门被别的类实现的方法。协议在以下场合非常有用: (1)需要由别的类实现的方法; (2)声明未知类的接口; (3)两个类之间的通信; 协议的基本特点: (1)协议可以被任何类实现的方...

2015-11-06 11:42:39

阅读数 5848

评论数 2

Objective-C——扩展(Extension)详解

我在上一篇博客中详细讲解了Category类别《Objective-C——类别(Category)详解》,而扩展和类别又十分的相似。我们今天就来深入学习扩展。       Objective-C 2.0之后增加了Extension,所谓的扩展,其实为一个类添加额外的方法或者属性,这些方法和属性是私...

2015-11-06 10:11:24

阅读数 3754

评论数 3

Objective-C——类别(Category)详解

封装是面向对象的一个特征,OC也不例外,但是有的时候我们会碰到这样的情况,比如我封装了一个类,不想再动它了,可是随着程序功能的增加,需要在那个类中增加一个小小的方法,这时我们就不必在那个类中做修改或者再定义一个子类,只需要在用到那个方法时随手添加一个该类的类别(category)即可。 (1)在类...

2015-11-05 19:20:09

阅读数 2997

评论数 2

nib与xib浅析

在如今的Xcode中,已经集成了Interface Builder,但是在之前,这两者是分开的。同时还不得不提到两种文件:nib和xib,今天我们来做一个简单的区分。       nib是NeXT Interface Builder的缩写。xib是XML Interface Builder的缩写,...

2015-11-04 21:48:57

阅读数 2341

评论数 2

iOS开发设计模式详解

在软件开发中一般认为有23种设计模式(design pattern),这是软件开发中的较高的境界了。在iOS开发中最常用的有哪些设计模式呢?我们今天来分析一下: 一.【代理模式】 使用场景:当一个类的某些功能需要由别的类来实现,但是又不确定具体会是哪个类实现。其实就像是Java中的接口,类可以...

2015-11-04 20:59:52

阅读数 3798

评论数 2

Objective-C Runtime机制详解

Objective-C语言是一门动态语言,它将很多静态语言在编译和链接时做的事放到了运行时来处理。同时OC也是一门简单的语言,很大一部分是C的内容,只是在语言层面上加了关键字和语法,真正让OC强大的是它的运行时,它很小却很强大,其中核心是消息分发。这种动态语言的优势在于:我们写代码时更加灵活,如我...

2015-10-28 00:04:31

阅读数 4826

评论数 8

iOS钥匙串Keychain浅析

根据苹果的介绍,iOS设备中的Keychain是一个安全的存储容器,可以用来为不同应用保存敏感信息比如用户名,密码,网络密码,认证令牌。苹果自己用keychain来保存WiFi密码,VPN凭证等。它是一个SQLite数据库,位于/private/var/Keychains/keychain-2.d...

2015-10-26 17:20:57

阅读数 3650

评论数 0

iOS开发——RegressionBug和RegressionTest浅析

RegressionBug就是由于开发新特性或修复bug导致以前正常工作的功能出现bug的情况。常常出现在开发中。RegressionBug又分为Release Regression和Build Regression. 1.Release Regression指的是和上一个产品版本相比,出现的bu...

2015-10-25 20:43:18

阅读数 2296

评论数 0

Objective-C代码块Block详解

block代码块是OC的一个特性,除了可执行的代码外,还可能包含变量的自动绑定(栈),或内存托管(堆)。所以一个block维护一个状态集(数据),可以在任何时候执行。block用来作为回调特别有用。     block可以作为函数参数或者函数的返回值,而本身又可以带输入参数或返回值。在多线程,异步...

2015-10-25 19:41:14

阅读数 2890

评论数 0

Swift——map函数浅析

Swift语言的数组提供了一个map函数很好用,可建立一个a数组的映射数组b,即数学上的y = f(x). 我为大家用代码来实现一下: import Foundation //定义数组; var arr = [1,2,3,4,5] //需要对数组中的每一个值+10操作; func fmap(a...

2015-10-25 10:34:49

阅读数 2008

评论数 0

iOS——instancetype浅析

OC是一门正在迅速发展的语言,ARC,object literals ,subscripting ,blocks,Auto Synthesis,让我们看到它惊人的改变。instancetype是clang3.5开始,clang提供的一个关键字,表示某个方法返回的未知类型的OC对象。在这之前,我们知...

2015-10-24 22:42:25

阅读数 3990

评论数 0

iOS——LLVM、Clang浅析

我们在iOS调试中经常会看到Clang这个,那么Clang到底是什么呢?我们来简单了解一下。       Clang是一个C、C++、OC语言的轻量级编译器。源代码发布于BSD协议下。Clang是由C++编写,基于LLVM,发布于LLVM BSD许可证下的编译器。它与GNU C语言规范几乎完全兼容...

2015-10-24 20:52:27

阅读数 6293

评论数 0

Cocoa Touch的类名为什么是以两个大写字母开头的?

在我们开发iOS的时候经常会看到诸如NSObject,NSNumber,等等这样的类,其他的前缀还包括CA,CL,CG等等前缀。这是怎么回事呢?我先来说说NS前缀吧。       NS代表的是NeXTSTEP,是乔布斯在1985年离开苹果之后创建的电脑公司。同时该公司的产品包括一款使用OC开发的操...

2015-10-24 16:03:36

阅读数 2024

评论数 0

Cocoa Touch框架浅析

Cocoa Touch包括: (1)Core Animation: 通过Core Animation,可以通过一个基于独立图层的简单的编程模型来创建丰富的用户体验。 (2)Core Audio: Core Audio是播放,处理和录制音频的专业技术,能够轻松为应用程序添加强大的音频功能。 (3)C...

2015-10-24 15:27:29

阅读数 2138

评论数 0

提示
确定要删除当前文章?
取消 删除