第1章 课程简介本章对这门课程所讲述内容进行概要介绍,其中包括课程目标.适合人群,课程特色.课程收获.课程安排等.整个课程学习完结后,有机会获得电话模拟面试及内推. 1-1 课前必读(不看会错过一个亿) 1-2 课程导学 试看第2章 教你写份好简历(简历写的好,好机会更多)本章首先根据目前市场招聘需求给出初中高级iOS工程师招聘的具体要求,然后细化出对初中高iOS工程师的知识点的考察范围.重难点等,让大家更好的了解目前的市场招聘情况,做到知彼:然后详细介绍如何编写让人眼前一亮的简历,让你把这个敲…
ios 高级开发 Job ID #: 47980 Position Title: 高级iOS development engineer Location: CHN-Beijing Functional Area: Research/Development Education Required: Bachelors Degree Experience Required: 5 - 7 Years       Position Description  Develop iOS version cli…
用C代替OC: #import <objc/runtime.h> #import <objc/message.h> #import <stdio.h> extern int UIApplicationMain (int argc,char *argv[],void *principalClassName,void *delegateClassName); struct Rect { float x; float y; float width; float height;…
11.系统类的方法实现部分替换 - (void) methodExchange { Method m1 = class_getInstanceMethod([NSStringclass],@selector(lowercaseString)); Method m2 = class_getInstanceMethod([NSStringclass],@selector(uppercaseString)); method_exchangeImplementations(m1, m2); NSLog(…
一些公用类: @interface ClassCustomClass :NSObject{ NSString *varTest1; NSString *varTest2; NSString *varTest3; } @property (nonatomic,assign)NSString *varTest1; @property (nonatomic,assign)NSString *varTest2; @property (nonatomic,assign)NSString *varTest3…
IOS高级开发-Runtime(一) IOS高级开发-Runtime(二) IOS高级开发-Runtime(三) IOS高级开发-Runtime(四) 一些公用类: @interface CustomClass : NSObject - (void) fun1; @end @implementation CustomClass - (void) fun1 { NSLog(@"fun1"); } @end @interface TestClass : NSObject @end @imp…
11-00.JavaScript高级面试 #前言 一.基础知识: ES 6常用语法:class .module.Promise等 原型高级应用:结合 jQuery 和 zepto 源码 异步全面讲解:从原理到 jQuery 再到 Promise 二.框架原理: 虚拟DOM:存在价值.如何使用.diff算法 MVVM vue:MVVM.vue响应式.模板解析.渲染 组件化 React:组件化.JSX.vdom.setState 三.混合开发: hybrid H5 前端客户端通讯 内容优势 面试官爱…
1.Block的本意 block本质上也是一个OC对象,它内部也有个isa指针, block是封装了函数调用以及函数调用环境的OC对象, block是封装函数及其上下文的OC对象 2.block截获变量 #import "SYDBlcok.h" // 全局变量----不截获全局变量 int global_var = 4; // 静态全局变量-----不截获全局静态变量 static int static_global_var = 5; @implementation SYDBlcok…
原文:http://onevcat.com/2013/04/ios-interview/ 不管对于招聘和应聘来说,面试都是很重要的一个环节,特别对于开发者来说,面试中的技术问题环节不仅是企业对应聘者技能和积累的考察,也是一个开 发者自我检验的好机会.对于iOS和Mac开发来说,因为本事还算比较新,企业对于这方面的开发者需求也比较大,所以面试时的要求可能并不是很高,一般能 知道一些Cocoa和OC的基本知识也就认为可以了.但是对于一个希望拥有技术力基础的企业的iOS或者Mac开发来说,两到三个顶尖…
序言 目前形势,参加到iOS队伍的人是越来越多,甚至已经到供过于求了. 今年,找过工作人可能会更深刻地体会到今年的就业形势不容乐观,随着各大公司秋招的开始,很多小伙伴都行动起来了,我也有幸获得了一份不错的offer并和大家分享自己的经验心得. 由于我面试公司比较多,所以自然也是做了这方面的准备,因此这篇总结并不一定适合想去创业公司的同学.另外,由于经验本来就是主观性极强的东西,加之笔者水平有限,所以如果有不认可的地方,万望诸君呵呵一笑,抛之脑后. 首先我要问大家几个问题 什么是面试 有些人可能会…
iOS面试指导 一 经过本人最近的面试和对面试资料的一些汇总,准备记录这些面试题,以便ios开发工程师找工作复习之用,本人希望有面试经验的同学能和我同时完成这个模块,先出面试题,然后会放出答案. 1. 你使用过Objective-C的运行时编程(Runtime Programming)么?如果使用过,你用它做了什么?你还能记得你所使用的相关的头文件或者某些方法的名称吗? 答案:Objecitve-C的重要特性是Runtime(运行时),在#import <objc/runtime.h> 下能看…
前段时间学习了IOS基础的一些控件的使用作为基础,现在开始学习一些高级编程的东西,手势处理器.文件I/O.定位.网络通信.多线程这些,分享一些学习的重点,还是很实用的. 今天就先介绍个简单点得,手势处理器: 一.首先,应该清楚ios事件相应的顺序,即响应者链. 只要继承了UIResponder的对象就可以作为响应者,实际上UIControl:UIView:UIResponder,由此可见,所有的对象都可以作为事件的相应者. 当用户与某个控件交互时,该控件将作为第一响应者(First Respon…
Core Data.Core Graphics.Core Animation 和 OpenGL ES 框架,是对于应用程序开发很重要的高级技术,因此需要花时间来学习和掌握. Core Data 框架管理应用程序的数据模型 Core Data 管理对象图.借助 Core Data,您可以创建模型对象(称为被管理的对象).您管理那些对象之间的关系,并通过框架更改数据.Core Data 利用内建的 SQLite 技术,高效地储存和管理数据. 使用 Core Data: 存储对象和从储存处取回对象 支…
面试篇之内存管理与多线程 简述OC中内存管理机制.­­­­­与retain配对使用的方法是dealloc还是release,为什么?需要与alloc配对使用的方法是dealloc还是release,为什么?readwrite,readonly,assign,retain,copy,nonatomic .atomic.strong.weak属性的作用?并区别strong(强引用). weak(弱引用)?什么情况使用copy,assign,和retain? 管理机制:使用了一种叫做引用计数的机制来管…
面试总结(一) 通过网络搜寻和自己总结经历找了一些IOS面试经常被问道的问题: 1.搞清楚touch事件的传递(事件的响应链) 事件的响应(responder chain) 只有继承了UIResponder的类才能响应touch事件,从上图的响应者链可以看出,优先是最上层的 view响应事件,如果该view有视图控制器的话会是下一个响应者,否者就是该view的父视图,这样至上而下传递事件.直到单例UIWindow对 象,最后是单例UIApplication对象以终止,UIApplication的…
面试笔试精华(四) 1.        Object-C有多继承吗?没有的话用什么代替?
 1>  OC是单继承,没有多继承 2>  有时可以用分类和协议来代替多继承 2.        Object-C有私有方法吗?私有变量呢?
 1>  OC没有类似@private的修饰词来修饰方法,只要写在.h文件中,就是公共方法 2>  可以直接在.m文件中(比如类扩展)声明和实现方法,对编译器来说是私有的 3.        关键字const什么含义? const int a; int…
面试笔试精华(二) 警告:一定要把英文题目过一遍,有些公司的题目故意弄成英文的!!! 1.        Difference between shallow copy and deep copy? 浅复制和深复制的区别? 1>   浅拷贝:指针(地址)拷贝,不会产生新对象 2>   深拷贝:内容拷贝,会产生新对象 2.        What is advantage of categories? What is difference between implementing a categ…
1. 你使用过Objective-C的运行时编程(Runtime Programming)么?如果使用过,你用它做了什么?你还能记得你所使用的相关的头文件或者某些方法的名称吗?  Objecitve-C的重要特性是Runtime(运行时),在#import <objc/runtime.h> 下能看到相关的方法,用过objc_getClass()和class_copyMethodList()获取过私有API;使用  ```objective-cMethod method1 = class_get…
版权声明:本文出自汪磊的博客,转载请务必注明出处. 一.你总是想一步登天,却不知道路是一步步走出来的 大概是放年假前一个月开始招聘吧,陆陆续续到目前为止安卓面试10几个,IOS面试了15个左右,本以为很好招聘的,没想到没有一个合适的,要求本不高只想基础扎实一些,但是就这一条基础扎实是真的难,一个Java多线程中wait()与sleep()区别,notify()与notifyAll()就没有说的特别清楚的. 面试这种印象比较深的有一个小姑娘,如下对话: 我:"安卓有过培训经历吗?" 小姑…
1. 多线程的底层实现? 1> 首先搞清楚什么是线程.什么是多线程.多线程的使用场合(线程有时被称为轻量级进程,是程序执行流的最小单元.多线程是指软件或者硬件实现多个线程并发执行的技术.多线程的使用场合:1程序包含复杂的计算任务:2处理速度较慢的外围设备:3程序设计自身的需要) 2> Mach是第一个以多线程方式处理任务的系统,因此多线程的底层实现机制是基于Mach的线程3> 开发中很少用Mach级的线程,因为Mach级的线程没有提供多线程的基本特征,线程之间是独立的(如果面试官问还有m…
1ios框架分为:cocoa Touch:UIKit.Foundation.附属框架 Media:OpenGL ES.EAGL.Quartz.Core Animation.Core Audio.                          Open Audio Library.Media Player Core Services:Address Book.Core Foundation Core OS:线程.文件.I/O.内存和网络 2iOS网络编程层次结构四意图: Cocoa层(NSUR…
今天一大清早去面试, 公司距离我家还挺近的, 花了一个小时走着去, 也顺路印下简历, 理理思路, 到了公司面试官什么的都不错, 还给我讲了很多知识, 收货也是满满的, 总结下今天都遇到了哪些问题, 调整调整状态. 1, 当需要自定义tabbar的item的数量可变时怎么做的 这里原本是想说自定义tabbar的, 不过估计考察的应该是runtime下的class动态创建类方法, 然后就简单的说下runtime, 并不知道回答的是否好, 但是原理是不会错的. 通过和后台的合作在数据中键值对中拿到类名…
多线程的概念在各个操作系统上都会接触到,windows.Linux.mac os等等这些常用的操作系统,都支持多线程的概念. 当然ios中也不例外,但是线程的运行节点可能是我们平常不太注意的. 例如: - (void)viewDidLoad { [super viewDidLoad]; ; i < ; i++) { NSLog(@"===%@===%d" , [NSThread currentThread].name , i); ) { // 创建线程对象 NSThread *t…
1.arc(automatic reference counting) OC对象被创建时引用计数从默认值0加1,当它被释放时候引用计数减1,引用计数减0时autorelease方法,销毁OC对象. 自动执行autorelease方法是因为程序被加入到Autorelease pool中. arc遵守黄金法则. 自动释放池的栈的方式. 2.keyword assign:一般用于基本数据类型,不能用于修饰OC对象!因为你assing修饰的oc对象在释放后虚拟地址还是存在的,可能导致内存渗漏.assig…
一.应用程序沙盒 IOS应用程序职能在系统为该应用所分配的文件区域下读写文件,这个文件区域就是应用程序沙盒.所有的非代码文件如:图片.声音.映象等等都存放在此. 在mac中command+shift+G命令,然后输入users/用户名/library命令进入库,然后依次进入application support/iphone simulator/版本/applications文件夹,这里面的各个文件夹对应着各个应用程序. Documents:除了基于NSUserDefaults的首选项设置外,应…
1.你使用过Objective-C的运行时编程(Runtime Programming)么?如果使用过,你用它做了什么?你还能记得你所使用的相关的头文件或者某些方法的名称吗? Objecitve-C的重要特性是Runtime(运行时),在#import <objc/runtime.h> 下能看到相关的方法,用过objc_getClass()和class_copyMethodList()获取过私有API;使用  ```objective-cMethod method1 = class_getIn…
解析的基本概念 所谓“解析”:从事先规定好的格式串中提取数据 解析的前提:提前约定好格式.数据提供方按照格式提供数据.数据获取方按照格式获取数据 iOS开发常见的解析:XML解析.JSON解析 一.XML数据结构 XML数据结构基本概念 XML:Extensible Markup language (可扩展标记语言),主流格式之一,可以用来存储和传输数据格式之一,可以用来存储和传输数据 XML数据格式的功能 1.数据交换 2.内容管理 3.用作配置文件 XML数据结构的语法 1.声明 2.节点使…
面试篇C语言精华    1.面向过程:分析解决问题所需要的步骤,然后用函数把这些步骤一步一步实 现. 面向对象:直接描述客观世界的对象及其相互关系.现实世界中任何实体都 可以看作是对象,对象之间通过消息相互作用,利用面向对象编程,我们只关心 借口,不关心怎样实现. 2.C++的三个特性:继承.封装和多态. 继承:一个对象直接使用另一个对象的属性和方法.继承可以使子类具有父 类的各种属性和方法,而不需要再次编写相同的代码. 封装:在程序上,隐藏对象的属性和实现细节,仅对外公开接口,控制属性 的读和…
面试笔试精华(三) 1.        When to use NSMutableArray and when to use NSArray? 什么时候使用NSMutableArray,什么时候使用NSArray? 1>   当数组元素需要动态地添加或者删除时,用NSMutableArray 2>   当数组元素固定不变时,用NSArray 2.       Give us example of what are delegate methods and what are data sourc…
面试笔试精华(一) 1.        #import 跟#include.@class有什么区别?#import<> 跟 #import”"又什么区别? 1>  #import和#include都能完整地包含某个文件的内容,#import能防止同一个文件被包含多次 2>  @class仅仅是声明一个类名,并不会包含类的完整声明;@class还能解决循环包含的问题 3>  #import <> 用来包含系统自带的文件,#import “”用来包含自定义的…