一、Runtime原理Runtime是iOS核心运行机制之一,iOS App加载库、加载类、执行方法调用,全靠Runtime,这一块的知识个人认为是最基础的,基本面试必问。1、Runtime消息发送机制1)iOS调用一个方法时,实际上会调用objc_msgSend(receiver, selector, arg1, arg2, …),该方法第一个参数是消息接收者,第二个参数是方法名,剩下的参数是方            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-14 19:18:10
                            
                                0阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            第一篇面试题整理:://cocoachina.com/bbs/read.php?tid-459620.html 本篇面试题同样:如答案有问题,欢迎指正! 1.回答person的retainCount值,并解释为什么Person * per = [[Person alloc] init];self.person = per; 2 2.这段代码有            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-05 20:48:17
                            
                                312阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            今天刚刚开始面试,接下来这几天把遇到的面试题总结如下:1.内存管理在实际开发中的应用(必考,已经被问两次了)答: 1.UITableView的数据条数太多时会消耗内存,可以给UITableViewCell、UICollectionViewCell、UITableViewHeaderFooterView设置正确的复用ID,充分复用。2.有透明度的View(alpha值在0到1之间),opaque的值            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-13 09:26:26
                            
                                287阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            目录2020 阿里、字节iOS面试题之Runtime相关问题1
2020 阿里、字节iOS面试题之Runtime相关问题2
runtime相关问题之 内存管理基本内容包括:weak的实现原理?SideTable的结构是什么样的关联对象的应用?系统如何实现关联对象的关联对象的如何进行内存管理的?关联对象如何实现weak属性Autoreleasepool的原理?所使用的的数据结构是什么ARC的实现原理            
                
         
            
            
            
            前言:经过本人最近的面试和对面试资料的一些汇总,准备记录这些面试题,以便iOS开发工程师找工作复习之用,本人希望有面试经验的同学能和我同时完成这个模块,先出面试题,然后会放出答案。 1.?你使用过Objective-C的运行时编程(Runtime Programming)么?如果使用过,你用它做了什么?你还能记得你所使用的相关的头文件或者某些方法的名称吗?答案:Objecitve-C的重            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-30 14:13:59
                            
                                87阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            iOS面试题  1.Difference between shallow copy and deep copy? 浅复制和深复制的区别? 浅层复制:指向对象的指针,而不复制引用对象本身。深层复制:复制引用对象本身。  2.What is advantage of categories? What is difference between implementing a category ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-09-01 14:31:08
                            
                                168阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1、什么时候在 block 中不需要使用 weakSelf 我们知道,在使用 block 的时候,为了避免产生循环引用,通常需要使用 weakSelf 与 strongSelf,写下面这样的代码: 那么请问:什么时候在 block 里面用 self,不需要使用 weak self? 答案如下: 当            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2016-12-05 14:02:00
                            
                                258阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            面试能力要求:精通iphone的UI开发,能熟练操作复杂表视图,熟练使用图层技术, 可以自定义UI控件,使用类别扩展系统控件功能;      擅长通讯技术,熟悉各种通信协议,精通xml, json, 二进制或其他形式的自定义解析,能架设服务器实现客户端与服务器的通讯以提交开发效率;     熟练掌握各种数据存储技术,如core data, sqlite,  对象序            
                
                    
                        
                                                                            
                                                                                        原创
                                                                                    
                            2013-08-04 19:55:00
                            
                                409阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1.写一下UIButton与UITableView的层级结构 2.Cocoa的Foundation对象与Core Foundation对象通过            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-05-08 19:25:31
                            
                                105阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1.Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-04-30 15:20:22
                            
                                301阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            IOS 面试题            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-04-28 01:23:44
                            
                                70阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            续写iOS 面试题及答案20道1~20(一)iOS 面试题及答案20道21~40(二)41.谈谈对OC和Swift动态特性的理解runtime其实就是OC的动态机制。runtime执行的是编译后的代码,这时它可以动态加载对象、添加方法、修改属性、传递信息等。具体过程是,在OC中,对像调用方法时,如[self.tableview reload],经历了两个过程。编译阶段: 编译器会将OC代码翻译成o            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-15 22:30:45
                            
                                3405阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            作者丨_小迷糊前言随着移动互联网科技不断的发展和创新,如今无论是公司还是开发者或设计师个人而言,面试都是一项耗时耗钱的项目,而面对iOS开发者及设计师在面试时可能会遇到的问题进行了筛选与汇总。下面我们一起来一下看看吧。一、如何绘制UIView?绘制一个UIView最灵活的方法就是由它自己完成绘制。实际上你不是绘制一个UIView,而是子类化一个UIView并赋予绘制自己的能力。当一个UIView需            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-15 01:42:19
                            
                                146阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1.看你在重构一个项目,你讲讲你重构的心得?你如何保证你重构后的功能逻辑是完整的?你如何让以后来维护你重构的代码的人能清晰明了的知道你写了什么?2.进程和线程的区别?同一进程不同线程的哪些数据段是共享的?3.http响应header中的cache-control有哪些常规值?4.http中get/post在请求参数上有什么区别?get参数的长度有限制吗?文件上传一般是post请求,那么在body里            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-04 10:38:03
                            
                                60阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            
        
        都是一些值得一做,必须掌握的题。
    1.写一个NSString类的实现+ (id)initWithCString:(c*****t char *)nullTerminatedCString encoding:(NSStringEncoding)encoding; + (id) stringWithCString: (c*****t ch            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-16 17:17:23
                            
                                515阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Tracking? Tracking,仅从字面上就有追踪、跟踪之意。在实际应用当中,埋点是为了满足能够跟踪并记录用户行为过程与结果而产生的技术方法。1、 埋点数据的流水线 当用户在客户端发生交互(Active)时,会运行相应的请求指令,向服务器发出 Http request。其中运行的代码当中,我们就会隐式的载入埋点代码,通常为.js,这也是数据搜集的源头和最为关键的一步。通过.js代码我们搜集客            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-18 10:09:28
                            
                                185阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            本篇文章是基于 网易乐得无埋点数据SDK 总结而成。负责无埋点数据收集 SDK 的开发已经有半年多了,期间在组内进行过相关分享,现在觉得是时候拿出去和同行们交流下了。本篇主要讲一下SDK的整体实现思路以及关键的技术点。自动的、动态可配的、全面且正确 SDK 已有的功能可以分为两大部分:基本事件数据的收集:基本事件的收集是指应用冷启动事件、页面事件、用户点击事件、ScrollView滑动事件等,这            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-26 21:57:33
                            
                                86阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            需求如果公司App用户基数很大,那就根据埋点数据分析App使用的反馈则意义重大。公司产品也会根据埋点数据做数据分析从而优化App功能设计。那么要如何进行数据分析呢?分析的是什么问题?需要哪些数据?这些数据从哪里来?首先通过产品定位及目标来确定自己需要哪些数据,其次通过在产品各个流程环节中设置数据埋点,最后,当用户使用产品时,后台就能源源不断地接收到数据了。那么在iOS工程中如何实现埋点功能呢?            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-13 15:29:00
                            
                                83阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1.什么情况下用分类?分类的优缺点?分类怎么用属性?关联对象的原理?关联策略?分类怎么实现一个weak属性?2.消息发送流程?消息转发流程?runtime的用处?3.直播分辨率,码率,帧率,花屏原因,卡顿原因4.启动时长优化?包体积优化?5.runloop与线程,runloop与autoreleasepool, runloop与定时器,runloop原理,6.weak应用场景(delegate,x            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-01 13:08:02
                            
                                174阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            前言	随着科技以及业务的发展,手势的应用也越来越普及,因此对于数据采集,我们要考虑如果通过全埋点来实现手势的采集。一、手势识别器	苹果为了降低开发者在手势事件处理方面的开发难度,定义了一个抽象类 UIGestureRecognizer 来协助开发者。UIGestureRecognizer 是具体手势识别器的抽象基类,它定义了一组可以为所有具体手势识别器配置的常见行为。它还可以通过设置委托(即实现了            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-10 13:07:38
                            
                                111阅读