iOS 面试题

合集下载

ios面试题及答案

ios面试题及答案

ios面试题及答案1.uiview 和 calayer 是什么关系?•uiview 继承 uiresponder,而 uiresponder 是响应者对象,可以对ios 中的事件响应及传递,calayer 没有继承自 uiresponder,所以 calayer 不具备响应处理事件的能力。

calayer 是 quartzcore 中的类,是一个比较底层的用来绘制内容的类,用来绘制ui•uiview 对 calayer 封装属性,对 uiview 设置frame、center、bounds 等位置信息时,其实都是uiview 对 calayer 进一层封装,使得我们可以很方便地设置控件的位置;例如圆角、阴影等属性, uiview就没有进一步封装,所以我们还是需要去设置 layer 的属性来实现功能。

•uiview 是 calayer 的代理,uiview 持有一个 calayer 的属性,并且是该属性的代理,用来提供一些 calayer行的数据,例如动画和绘制。

2.bounds 和 frame 的区别?•bounds:一般是相对于自身来说的,是控件的内部尺寸。

如果你修改了 bounds,那么子控件的相对位置也会发生改变。

•frame :是相对于父控件来说的,是控件的外部尺寸。

3.setneedsdisplay 和 layoutifneeded 两者是什么关系?[图片上传失败...(image-fe66cb-)]uiview的setneedsdisplay和setneedslayout两个方法都是异步执行的。

而setneedsdisplay会自动调用drawrect方法,这样可以拿到uigraphicsgetcurrentcontext进行绘制;而setneedslayout会默认调用layoutsubviews,给当前的视图做了标记;layoutifneeded 查找是否有标记,如果有标记及立刻刷新。

苹果奇葩的面试题目(3篇)

苹果奇葩的面试题目(3篇)

第1篇一、产品设计与创新类1. 如果桌上放置了一部旧iPhone,你能看到哪些材料?(考察应聘者对产品的洞察力和创新能力)2. 请设计一款可以解决全球饥饿问题的产品。

(考察应聘者的大局观和创新思维)3. 请用不超过10个字概括苹果公司的核心价值观。

(考察应聘者的提炼能力和对企业的理解)二、逻辑思维与问题解决类1. 如果准备了4杯水,却来了5位领导,应该如何分配?(考察应聘者的应变能力和团队协作精神)2. 帝国大厦有多重?(考察应聘者的观察力和逻辑推理能力)3. 每天有多少孩子出生?(考察应聘者的观察力和数据处理能力)三、个人价值观与职业规划类1. 你会是什么超级英雄?为什么?(考察应聘者的个性和价值观)2. 请描述你职业生涯中最难忘的一次失败经历,以及你从中学到了什么。

(考察应聘者的挫折承受能力和自我反省能力)3. 你认为自己的优势和劣势分别是什么?(考察应聘者的自我认知能力)四、沟通与团队协作类1. 如果你在团队中遇到了一个难以沟通的同事,你会如何处理?(考察应聘者的沟通能力和团队协作精神)2. 请设计一场针对苹果公司产品的发布会,包括演讲稿、PPT和现场互动环节。

(考察应聘者的策划能力和沟通能力)3. 你认为团队中最重要的是什么?(考察应聘者的团队观念和价值观)五、心理素质与抗压能力类1. 如果你在工作中遇到了一个难以解决的问题,你会如何应对?(考察应聘者的心理素质和抗压能力)2. 请描述一次你在压力下完成任务的经历,以及你如何应对压力。

(考察应聘者的心理素质和抗压能力)3. 你认为自己在面对挫折时,最需要的是什么?(考察应聘者的心理素质和抗压能力)六、社会热点与价值观类1. 如果你是苹果公司的CEO,你会如何应对当前全球贸易战?(考察应聘者的政治敏感度和全局观)2. 请谈谈你对人工智能发展的看法,以及你认为苹果公司应该如何应对?(考察应聘者的价值观和前瞻性)3. 你认为苹果公司应该如何在环保方面做出贡献?(考察应聘者的社会责任感和价值观)总之,苹果公司的奇葩面试题目不仅考验应聘者的专业知识,更考验其创新能力、应变能力和综合素质。

【5】IOS面试题--内存管理.doc

【5】IOS面试题--内存管理.doc

【5】IOS⾯试题--内存管理.doc1 .属性readwrite, readonly, assign, retain, copy, nonatomic, atomic各是什么作⽤,在那种情况下⽤?readwrite是可读可写特性;需要⽣成getter⽅法和setter ⽅法时使⽤readonly是只读特性只会⽣成getter⽅法不会⽣成setter ⽅法;不希望属性在类外改变assign是赋值特性,不涉及引⽤计数,弱引⽤,setter⽅法将传⼊参数赋值给实例变量;仅设置变量时;retain表⽰持有特性,setter⽅法将传⼊参数先保留,再赋值,传⼊参数的retaincount会+1;copy表⽰拷贝特性,setter⽅法将传⼊对象复制⼀份;需要完全⼀份新的变量时。

nonatomic⾮原⼦操作,不加同步,多线程访问可提⾼性能,但是线程不安全的。

决定编译器⽣成的setter getter是否是原⼦操作。

atomic原⼦操作,同步的,表⽰多线程安全,与nonatomic相反2. Difference between shallow copy and deep copy? 浅复制和深复制的区别?浅层复制:只复制指向对象的指针,⽽不复制引⽤对象本⾝。

深层复制:复制引⽤对象本⾝。

意思就是说我有个A对象,复制⼀份后得到A_copy对象后,对于浅复制来说,A和A_copy指向的是同⼀个内存资源,复制的只不过是⼀个指针,对象本⾝资源。

对于深复制来说,A和A_copy指向的是两个不同的内存资源,他们是两份独⽴对象本⾝。

⽤⽹上⼀哥们通俗的话将就是:浅复制好⽐你和你的影⼦,你完蛋,你的影⼦也完蛋深复制好⽐你和你的克隆⼈,你完蛋,你的克隆⼈还活着。

3. 什么是栈内存(stack) ?什么是堆内存(heap) ? 栈内存:由编译器⾃动分配释放,存放函数的参数值,局部变量的值等。

其操作⽅式类似于数据结构中的栈(先进后出)。

苹果面试时的15道趣味考题

苹果面试时的15道趣味考题

江苏人才求职,企业招聘首选网站苹果面试时的15道趣味考题据外国媒体报道,谷歌在招聘员工和工程师时,往往会问求职者有关技术方面的问题。

苹果却大不相同,总是会司会问一些脑筋急转弯风格的问题,提出一些与硬件规格相关的问题,此举似乎更多的是希望从潜在的员工身上挖掘更多的创造力。

苹果的这些问题不仅针对技术人员,甚至还针对销售人员和其他特殊人员。

以下就是美国网站提供的苹果在面试应聘人员的最有趣味性的15道题目:1、桌上放置了一部旧iPhone,你能看到哪些材料?职位:产品设计工程师。

在苹果公司工作的多数员工,都会了解供应链的成本事务,以确保尽可能地减少生产手机的产品成本。

苹果手机是极具价格竞争优势的产品,所以你必须知道如何从事控制成本相关的工作。

因此,具备专业的材料及其属性相关的经验将有助于你在生产手机设备时降低成本。

2、描述使用苹果产品的情况职位:销售员。

如果你想销售苹果产品,最好已经是苹果用户。

无论如何,苹果不会聘用一个从未使用苹果手机的人来担任公司的销售员工。

3、如果测试部门否决了500台洗衣机,那么你将如何查找根源并找到解决之道?职位:产品质量工程师。

如果在生产中发生了故障,就可能会导致数百部i 手机受损,甚至也可能会此起成千上万的收入受损。

如果你想管理产品质量,那么就必须确保你能够发现所有产生的问题,特别是那些在供应链初期阶段就出现的问题。

4、你如何在资源非常有限的环境下将处理网络、文件系统、用户界面系统等的线程模型转化成用户空间框架?职位:软件工程师。

编写运营程序的代码较为容易,但是要让它有效的工作就会很难了,特别是当你为手机设计软件时,你必须依赖低功率的芯片来确保电池寿命延长。

5、你如何计算来自中国的苹果供应量?职位:材料项目经理。

江苏人才求职,企业招聘首选网站他们正在探讨字面意义上的苹果,如你所知,就是水果。

不过,这也是一道非常基础的供应问题。

如果你负责管理供应链,那么你就需要确切的知道供应商供应何种产品、以及能够提供什么样的材料。

iOS面试题集锦(附答案)(个人精心整理)

iOS面试题集锦(附答案)(个人精心整理)

iOS⾯试题集锦(附答案)(个⼈精⼼整理)1、第三⽅库、masonry第三⽅⾃动布局是否⽤过,类⽅法和对象⽅法的区别2、MVC机制C对M:APIC对V:OutletV对C:T arget-action,Delegate,DatasourceM对C:Notification,KVO3、runtime机制runtime是⼀套⽐较底层的纯C语⾔API, 属于1个C语⾔库, 包含了很多底层的C语⾔API。

runtime ⽤来⼲什么呢??⽤在那些地⽅呢?怎么⽤呢?runtime是属于OC的底层, 可以进⾏⼀些⾮常底层的操作(⽤OC是⽆法现实的, 不好实现)在程序运⾏过程中, 动态创建⼀个类(⽐如KVO的底层实现)在程序运⾏过程中, 动态地为某个类添加属性\⽅法, 修改属性值\⽅法遍历⼀个类的所有成员变量(属性)\所有⽅法例如:我们需要对⼀个类的属性进⾏归档解档的时候属性特别的多,这时候,我们就会写很多对应的代码,但是如果使⽤了runtime就可以动态设置!1>头⽂件利⽤头⽂件,我们可以查看到runtime中的各个⽅法!2>相关应⽤NSCoding(归档和解档, 利⽤runtime遍历模型对象的所有属性)字典–>模型(利⽤runtime遍历模型对象的所有属性, 根据属性名从字典中取出对应的值, 设置到模型的属性上)KVO(利⽤runtime动态产⽣⼀个类)⽤于封装框架(想怎么改就怎么改)这就是我们runtime机制的只要运⽤⽅向3>相关函数objc_msgSend : 给对象发送消息class_copyMethodList : 遍历某个类所有的⽅法class_copyIvarList : 遍历某个类所有的成员变量class_…..这是我们学习runtime必须知道的函数!4.必备常识1> Ivar : 成员变量2> Method : 成员⽅法从上⾯例⼦中我们看到我们定义的成员变量,如果要是动态创建⽅法,可以使⽤Method,4、strong ,weak, assign有什么区别assign:简单赋值,不更改索引计数(Reference Counting)。

ios初中级面试题

ios初中级面试题

以下是几个常见的iOS 初中级面试题及答案:Q: What is Objective-C? A: Objective-C is a general-purpose programming language that was developed by Apple and is used to develop iOS and macOS applications.Q: What is Swift? A: Swift is a programming language that is also used to develop iOS and macOS apps.Q: What is MVC? A: Model-View-Controller (MVC) is a design pattern that separates data and functionality into three separate layers: model, view, and controller.Q: What is the difference between Cocoa Touch and UIKit? A: The main difference between Cocoa Touch and UIKit is that UIKit provides a library of graphical controls for building user interfaces while Cocoa Touch is a framework for developing touch-based apps on iOS and macOS.Q: How do UIAlertViews work in iOS? A: UIAlertViews are used to display messages to users, usually when an error occurs or as a confirmation prompt.Q: What is the delegate pattern? A: The delegate pattern is a way for one object to communicate with another object without knowing its class directly.Q: How does auto layout work in iOS? A: Auto layout is a feature of Interface Builder that allows developers to specify constraints for the layout of UI elements in the interface.。

iOS英文面试题

iOS英文面试题

iOS英文面试题1.Difference between shallow copy and deep copy?2.What is advantage of categories? What is difference between implementing a category and inheritance?3.Difference between categories and extensions?4.Difference between protocol in objective c and interfaces in java?5.What are KVO and KVC?6.What is purpose of delegates?7.What are mutable and immutable types in Objective C?8.When we call objective c is runtime language what does it mean?9.what is difference between NSNotification and protocol?10.What is push notification?11.Polymorphism?12.Singleton?13.What is responder chain?14.Difference between frame and bounds?15.Difference between method and selector?16.Is there any garbage collection mechanism in Objective C.?17.NSOperation queue?18.What is lazy loading?19.Can we use two tableview controllers on one viewcontroller?20.Can we use one tableview with two different datasources? How you will achieve this?21.What is advantage of using RESTful webservices?22.When to use NSMutableArray and when to use NSArray?23.What is the difference between REST and SOAP?24.Give us example of what are delegate methods and what are data source methods of uitableview.25.How many autorelease you can create in your application? Is there any limit?26.If we don’t create any autorelease pool in our application then is there any autorelease pool already provided to us?27.When you will create an autorelease pool in your application?28.When retain count increase?29.Difference between copy and assign in objective c?30.What are commonly used NSObject class methods?31.What is convenience constructor?32.How to design universal application in Xcode?33.What is keyword atomic in Objective C?34.What are UIView animations?35.How can you store data in iPhone applications?36.What is coredata?37.What is NSManagedObject model?38.What is NSManagedobjectContext?39.What is predicate?40.What kind of persistence store we can use with coredata?。

苹果面试官30问

苹果面试官30问

苹果面试官30问苹果面试官30问1、你会如何向8岁的孩子解释路由器的工作原理?2、你最好的朋友是谁?3、如果你有两个鸡蛋,在不摔碎的前提下如何搞清楚它们可以从多高的高度扔下去不会碎?你有几个解决方案?4、形容一个你解决过的有趣的问题,并且详述你是如何解决的?5、每天都有多少孩子出生?6、桌子上有100枚硬币,其中有10枚朝上,90枚朝下,如何在不触摸不看的情况下找出哪些硬币是朝上的?如何将这些硬币分成朝上硬币数量相同的两堆?7、形容下你自己,是什么激励了你?8、如果我们雇用你,你最想做什么样的工作?9、有三个箱子,一个放着苹果,一个放着橘子,另外一个放着苹果和橘子。

这三个箱子被打乱顺序无法分出哪个箱子装着什么?你该如何在只打开一个箱子并取出其中一个水果的前提下,马上知道这些箱子里装的是什么水果?10、你正在面对一个生气的顾客,这个顾客在等待我们的服务的时候等待了20分钟,这让她很烦躁,并宣称她将去百思买或者微软的零售店买其他公司的电脑,你会怎么处理这个情况?11、你会怎么降低(公司)笔的费用成本?12、如果有个顾客带着他完全无法使用的老旧电脑来寻求我们的帮助,你会怎么处理?13、你觉得自己聪明么?14、描述你曾失败的一次经历,你从中获得什么样的教训?15、你曾对上司的决定表达过不同意么?你是如何表达的?举个例子并且阐述下你是如何处理的',结果是什么?16、你把一杯装满水的水杯放在转盘上,最先发生的是杯子从转盘上滑落还是水溅出来?17、你生命中最自豪的一件事是什么?18、我们为什么要雇用你?19、你觉得自己是有创意的人么?你曾想过什么有创意的事情呢?20、描述一个能体现你谦卑的事情。

21、解决顾客的问题和给顾客创造良好的体验,哪一个更重要?22、苹果为什么将公司名字AppleComputer Incorporated改成Apple Inc?23、展示一下你是如何帮助顾客的。

24、是什么让你走到了现在?25、这四年来你过的最好的一天是哪一天?最不好的是哪一天?26、当你作为顾客走进苹果零售店,你会首先注意到什么?27、你为什么想要加入苹果,如果苹果雇用你,你会想念上一份工作的什么部分?28、你是如何挑选自己喜欢的应用?29、接下来5年你想得到什么?30、你是怎么测试面包机的?。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

iOS 面试题
1、在一个对象的方法里面:= @“object”;和name =@”object” 有什么不同吗?
答: =”object”:会调用对象的setName()方法;
name = “object”:会直接把object赋值给当前对象的name属性。

2、什么时候用delegate,什么时候用Notification? delegate 和notification 的区别
答: delegate针对one-to-one关系,用于sender接受到reciever的某个功能反馈值。

notification针对one-to-one/many/none,reciver,用于通知多个object某个事件。

区别
1). 二者都用于传递消息,不同之处主要在于一个是一对一的,另一个是一对多的。

2). notification通过维护一个array,实现一对多消息的转发。

3). delegate需要两者之间必须建立联系,不然没法调用代理的方法;notification不需要两者之间有联系。

3.浅拷贝和深拷贝的区别?
浅拷贝:只复制指向对象的指针,而不复制引用对象本身。

深拷贝:复制引用对象本身。

内存中存在了两份独立对象本身,当修改A时,A_copy不变。

4.进程和线程的区别?同步异步的区别?
进程:是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.
线程:是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.
同步:阻塞当前线程操作,不能开辟线程。

异步:不阻碍线程继续操作,可以开辟线程来执行任务。

编程题
30张不同的图片(image0-29)随机选出5张并且不得重复。

相关文档
最新文档