)自我介绍、项目经历、专业知识、自由提问

(2)准备简历、投发简历、笔试(电话面试、)、面试、复试、终面试、试用、转正、发展、跳槽(加薪升职)

1闲聊

a)自我介绍:自我认识能力

b)评价上一家公司:社会认知能力

c)兴趣爱好(书,电影,音乐,dota等),能否在爱好领域达到比较深的地步

分钟左右。

a)做事热情

b)沟通能力

c)专业知识水平

d)团队融合度

f)思维是否清楚,程序经验以及聪明程度

的倍数,输出bar,如果是3和5的倍数,输出foobar.)

#include<stdio.h>

Int main()

{

For(int i=1;i<=100;i++){

If(i%3==0){

Printf(“%d”,foo);}

Else(i%5==0){

Printf(“%d”,bar);}

Elseif(i%3&&i%5==0){

Pritf(“%d”,foobar);}

}

}

iOS专业能力考察内容

第一级,数字1. 2. 3。属于应该知道范畴,应能回答出来80%以上,算是能干活的人。可以用来面试1-2年经验的人。

第二级,字母a) b) c)。属于有较深理解内容,应能回答出来30%-50%,说明或深或浅的在各知识点有一些研究。能把任何一个问题讲得透彻明白的,都加分。可以用来面试2-3年经验的人。

第三级,罗马数字i. ii,iii.。属于较高级认识阶段,应能回答出10%-20%左右。

1. 简述关键字assign,retain,copy,strong,weak,nonatomic,readonly,setter,synthesize的作用。

a)    ARC是什么,其实现原理.

b)    请简述非ARC内存管理方式的关键原则。ARC的优缺点。

2.     请简述一些UIView的常见属性的作用及其默认值。(superView、subview、frame、tag、bounds,center等)

a)    frame属性与bounds属性的作用与区别。

i.     做动画时应使用哪个属性?为什么?

b)    CALayer与UIView的关系及各自的作用。

3.请列举UITableViewDelegate、UITableViewDataSource里的函数。哪些是必须实现的(numberOfSection、numberOfRow, cellForRow)?哪些是不必实现的?(highForRowAtIndexPath\viewForHeaderInSection\ didSelectRowAtIndexPath)

a)    请简述自己实现一个简单tableView的思路与关键点。(内存重用)

4.     按下UIButton到手指从屏幕离开,总共可以触发哪些函数?

a)    触控事件有哪几个状态?

b)    UIWindow,UIView,UIViewController,UIApplication,UIResponder, UIScreen的父类是什么。

c)    事件响应链流程。

i.  hitTest、pointInside如何修改事件响应的顺序。

5.   UIViewController的生命周期。

6. 你使用过或见过哪些动画方式。

a)    它们的效率有差别么?有的话请排序。

b)    请简述CAKeyframeAnimation的使用方法。

i.  请简述显式事务、隐式事务及事务嵌套。

ii. 贝塞尔曲线是什么?你在哪见过它?(动画里的时间函数CAMediaTimingFunction、路径函数等都是贝塞尔曲线)

7.     定义一个block变量。int (^testBlock)(int a, int b ,...);

void (^testBlock2)(int) = ^(int num){

return num * num;

};

a)    循环引用导致的内存问题

i.        block的底层实现

8.     NSNotification和KVO的区别和用法是什么?

a)    它们的实现上有什么区别?

b)    如果用protocol和delegate(或者delegate的Array)来实现类似的功能,可能吗?如果可能,会有什么潜在的问题?如果不能,为什么?

9.     请简述你用过的iOS多线程方式。

a)    NSOperation中start和main方法有什么区别?b)    使用GCD处理一些并行任务,可以有哪些方法。哪种方法最好最值得推荐?

c)    是否使用过信号量或条件锁。

 i.        iOS系统多线程模型及它们的优缺点。

 ii.        常见基础类中,哪些类是线程安全的?KVO是线程安全的么?不

10.  请简述iOS持久化存储有哪些方式。

11.  请简述你在iOS开发中见到的一些设计模式。

12.  使用过Objective-C的运行时编程(Runtime Programming)么?用它做了什么?记得所使用的相关的头文件或者某些方法的名称吗?

13.  使用过哪些Core打头的内容(CoreData,CoreAnimation,CoreGraphics,CoreText,CoreImage)。

a)    评价任一Core打头的框架。

b)    CA框架、CG框架和UI框架的联系是什么。

高级面试题:

1.你使用过Objective-C的运行时编程(Runtime Programming)么?如果使用过,你用它做了什么?你还能记得你所使用的相关的头文件或者某些方法的名称吗? 

2.你实现过多线程的Core Data么?NSPersistentStoreCoordinator,NSManagedObjectContext和NSManagedObject中的哪些需要在线程中创建或者传递?你是用什么样的策略来实现的? 

3.Core开头的系列的内容。是否使用过CoreAnimation和CoreGraphics。UI框架和CA,CG框架的联系是什么?分别用CA和CG做过些什么动画或者图像上的内容。(有需要的话还可以涉及Quartz的一些内容) 

4.是否使用过CoreText或者CoreImage等?如果使用过,请谈谈你使用CoreText或者CoreImage的体验。 

5.NSNotification和KVO的区别和用法是什么?什么时候应该使用通知,什么时候应该使用KVO,它们的实现上有什么区别吗?如果用protocol和delegate(或者delegate的Array)来实现类似的功能可能吗?如果可能,会有什么潜在的问题?如果不能,为什么?(虽然protocol和delegate这种东西面试已经面烂了...) 

6.你用过NSOperationQueue么?如果用过或者了解的话,你为什么要使用NSOperationQueue,实现了什么?请描述它和GCD的区别和类似的地方(提示:可以从两者的实现机制和适用范围来描述)。 

7.既然提到GCD,那么问一下在使用GCD以及block时要注意些什么?它们两是一回事儿么?block在ARC中和传统的MRC中的行为和用法有没有什么区别,需要注意些什么? 

8.您是否做过异步的网络处理和通讯方面的工作?如果有,能具体介绍一些实现策略么? 

9.对于Objective-C,你认为它最大的优点和最大的不足是什么?对于不足之处,现在有没有可用的方法绕过这些不足来实现需求。如果可以的话,你有没有考虑或者实践过重新实现OC的一些功能,如果有,具体会如何做? 

10.你实现过一个框架或者库以供别人使用么?如果有,请谈一谈构建框架或者库时候的经验;如果没有,请设想和设计框架的public的API,并指出大概需要如何做、需要注意一些什么方面,来使别人容易地使用你的框架。

iOS面试考察点的更多相关文章

  1. ios面试技术要点

    iOS面试 技术总结点(可参考):多线程 运行时 runloop app框架 几种动画编程 jsonmodel原理 sdwebimage原理 masonry怎么应用及原理 应用框架有哪些 说一下Fac ...

  2. iOS 面试基础题目

    转载: iOS 面试基础题目 题目来自博客:面试百度的记录,有些问题我能回答一下,不能回答的或有更好的回答我放个相关链接供参考. 1面 Objective C runtime library:Obje ...

  3. iOS面试贴士

    iOS面试小贴士 ———————————————回答好下面的足够了------------------------------------- 多线程.特别是NSOperation 和 GCD 的内部原 ...

  4. IOS面试攻略

    IOS面试攻略(1.0) 2013-10-13 20:58:09|  分类: IOS面试 |  标签:ios知识点总汇  ios面试  |举报|字号 订阅     来自:伊甸网 @ 看到这个关键字,我 ...

  5. C C++ OC iOS面试重点问题(一)

    C C++ OC iOS面试重点问题(一) 1.字符串常量需要加\0 2.逻辑运算 位操作(经典:实现两个数的交换) 3.关键字 4.引用和指针的区别和联系 5.如何引用一个已经定义过的全局变量?  ...

  6. IOS面试问题总结

    IOS面试问题总结 分类: IOS开发2013-11-20 17:26 10458人阅读 评论(1) 收藏 举报   目录(?)[+]   通过网络搜寻和自己总结经历找了一些IOS面试经常被问道的问题 ...

  7. 十个iOS面试问题

    十个iOS面试问题 十个iOS面试问题.不管对于招聘和应聘来说,面试都是很重要的一个环节,特别对于开发者来说,面试中的技术问题环节不仅是企业对应聘者技能和积累的考察,也是一个开发者自我检验的好机会. ...

  8. [转] 上级向的十个iOS面试问题

    上级向的十个iOS面试问题 转自 http://onevcat.com/2013/04/ios-interview/ 不管对于招聘和应聘来说,面试都是很重要的一个环节,特别对于开发者来说,面试中的技术 ...

  9. iOS面试的算法相关

    转自:https://www.jianshu.com/p/c4820b159159 面试中遇到的这些算法,在平常工作中,基本不会用到. 不过现实的面试中经常喜欢问关于算法的问题 有些还要求写出代码.一 ...

随机推荐

  1. django.db.models.fields.related_descriptors.RelatedObjectDoesNotExist

    Enrollment has no customer.

  2. concat以及group_concat的用法

    concat()函数 1.功能:将多个字符串连接成一个字符串. 2.语法:concat(str1, str2,...) 返回结果为连接参数产生的字符串,如果有任何一个参数为null,则返回值为null ...

  3. 2019 杭电多校第八场 HDU - 6665 Calabash and Landlord 两矩形分平面

    题意 给出两个矩形,问这两个矩形把平面分成了几部分. 分析 不需要什么高级技能,只需 “简单” 的分类讨论. (实在太难写了,对拍找出错误都不想改 推荐博客,其中有个很好的思路,即只讨论答案为2,3, ...

  4. POJ-2478-Farey Sequence(欧拉函数)

    链接: https://vjudge.net/problem/POJ-2478 题意: The Farey Sequence Fn for any integer n with n >= 2 i ...

  5. HTML 002 基础

    HTML 基础- 4个实例 HTML 标题 HTML 标题(Heading)是通过<h1> - <h6> 标签来定义的. 实例 <h1>这是一个标题</h1& ...

  6. 转,SqlServer 基础之(触发器)

    概念:   触发器(trigger)是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触 ...

  7. P2701 [USACO5.3]巨大的牛棚Big Barn

    题目背景 (USACO 5.3.4) 题目描述 农夫约翰想要在他的正方形农场上建造一座正方形大牛棚.他讨厌在他的农场中砍树,想找一个能够让他在空旷无树的地方修建牛棚的地方.我们假定,他的农场划分成 N ...

  8. [Go] 基础系列一: for-select中的break、continue和return

    break select中的break,类似c系列中的break,break后的语句不执行 for和select一同使用,有坑 break只能跳出select,无法跳出for package test ...

  9. 【MongoDB】查询字段对应的数组中包含某个值

    在MongoDB操作的时候,我们可能会遇到查询[字段对应的数组中包含某个值]的数据,查询语句如下,假设表名为user. 示例1 数据 { id: 1, state_arr: [ "123&q ...

  10. C语言应用--数据类型定制一结构体数组

    结构体定义成功后,其实和c语言内部的类型区别也不大了,自然可以用来定义结构体类型的数组了.我们根据结构体定义的方式不同,分别用多种方式定义结构体数组: