上一篇文章列出了共32道IOS面试题: 下面从第一题开始解答:题目:1.Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么?关于多继承:首先 object-c不能够多继承,类似下面代码的这种方式是绝对通不过编译的.当然,你也可以把NSString前面的":"去掉再试试,呵呵!那么有没有别的方式来替代呢?有,一种我们称之为伪继承
转载
2024-10-23 15:01:15
12阅读
1、请谈谈 ReadWriteLock 和 StampedLockReadWriteLock包括两种子锁① ReadWriteLockReadWriteLock 可以实现多个读锁同时进行,但是读与写和写于写互斥,只能有一个写锁线程在进行。② StampedLockStampedLock 是 JDK 在1.8提供的一种读写锁,相比较 ReentrantReadWriteLock性能更好,因为 Ree
转载
2023-11-28 08:34:18
428阅读
前言锁的原因都是由并发问题发生的,在此我只是写一些面试中可能会问到的问题以及问题的答案,并不是给大家深入的讲解锁机制一般面试官问都是从一个点引入一个点的问问题,所以我就先从线程问题引入到锁问题正文1.说说线程安全问题线程安全是多线程领域的问题,线程安全可以简单理解为一个方法或者一个实例可以在多线程环境中使用而不会出现问题在 Java 多线程编程当中,提供了多种实现 Java 线程安全的方式:最简单
转载
2024-02-28 13:35:50
184阅读
# iOS 线程锁面试题:环境配置、编译过程、参数调优、定制开发、调试技巧、生态集成
在开发领域,iOS线程锁问题经常成为技术面试中的重点考察内容。线程安全直接影响应用性能和用户体验,因此对线程锁的理解和使用至关重要。本文将以复盘记录的方式,详细探讨iOS线程锁面试题的各个方面。
## 环境配置
为确保iOS项目的正常运行,需要配置特定的开发环境。具体流程如下:
```mermaid
fl
1、 描述应用程序的启动顺序。 willFinishLaunchingWithOptions didFinishLaunchingWithOptions applicationDidBecomeActive 当电话过来了 applicationWillResignActive//取消活跃状态 电话结束或者取消.变为活跃状态 点home 取消活跃状态进到后台 ap
转载
2024-09-14 10:27:10
74阅读
最近在看喵神的博客 发现一个博客是写iOS的面试题目的。 你使用过Objective-C的运行时编程(Runtime Programming)么?如果使用过,你用它做了什么?你还能记得你所使用的相关的头文件或者某些方法的名称吗? 你实现过多线程的Core Data么?NSPersistentStoreCoordinator,NSManagedObjectContext和NSManagedObjec
转载
2023-08-03 15:46:31
104阅读
1、synchronized作用于静态方法和非静态方法的区别非静态方法:给对象加锁(可以理解为给这个对象的内存上锁,注意 只是这块内存,其他同类对象都会有各自的内存锁),这时候在其他一个以上线程中执行该对象的这个同步方法(注意:是该对象)就会产生互斥静态方法: 相当于在类上加锁(*.class位于代码区,静态方法位于静态区域,这个类产生的对象公用这个静态方法,所以这块内存,N个对象来竞争),这时候
转载
2021-03-18 14:45:24
495阅读
2评论
1、synchronized作用于静态方法和非静态方法的区别 非静态方法: 给对象加锁(可以理解为给这个对象的内存上锁,注意 只是这块内存,其他同类对象都会有各自的内存锁),这时候在其他一个以上线程中执行该对象的这个同步方法(注意:是该对象)就会产生互斥 静态方法: 相当于在类上加锁(*.class
原创
2022-03-29 17:53:30
143阅读
1、iOS数据持久化存储方案有哪些?参考答案:plist属性列表存储(如NSUserDefaults)文件存储(如二进制数据写入文件存储,通过NSFileManager来操作将下载起来的二进制数据写一篇文件中存储)NSKeydeArchiver归档存储,常见的是自动化归档/解档处理,想要学习如何通过runtime实现自动化归档/解档,可数据库SQLite3存储(如FMDB、Core Data)2、
转载
2023-09-08 12:56:06
32阅读
什么是分布式锁?在回答这个问题之前,我们先回答一下什么是锁。普通的锁,即在单机多线程环境下,当多个线程需要访问同一个变量或代码片段时,被访问的变量或代码片段叫做临界区域,我们需要控制线程一个一个的顺序执行,否则会出现并发问题。如何控制呢?就是设置一个各个线程都能看的见的标志。然后,每个线程想访问临界区域时,都要先查看标志,如果标志没有被占用,则说明目前没有线程在访问临界区域。如果标志被占用了,则说
wait()该方法用来将当前线程置入休眠状态,直到接到通知或被中断为止。在调用 wait()之前,线程必须要获得该对象的对象级别锁,即只能在同步方法或同步块中调用 wait()方法。进入 wait()方法后,当前线程释放锁。在从 wait()返回前,线程与其他线程竞争重新获得锁。如果调用 wait()时,没有持有适当的锁,则抛出 IllegalMonitorStateException,它是 Ru
转载
2024-04-11 12:21:20
48阅读
1.Java中锁的分类
乐观锁与悲观锁: (1)乐观锁 只会在更新数据的时候判断是否出现冲突,适合读操作多 (2)悲观锁 每次拿数据都会上锁(比如synchronized),适合写操作多
共享锁和排他锁 对于Java ReentrantLock而言,其是排他锁。但是对于Lock的另一个实现类ReadWriteLock,其读锁是共享锁,其写锁是排他
没有比这里更全的了,看我就好了面试官? :你了解进程吗?谈谈你对进程和线程的理解?不谈进程,线程无从谈起。要了解什么是线程,我们先需要理解什么是线程。秒懂百科 ? 以上百科,我们大概了解了进程和线程。也是面试考察的基本点。大致说出画红色的部分也就可以了。面试官? :iOS中,有哪些实现多线程的方式?这是一道比较综合性的题目。所知道的都回答出来1,pthread &n
转载
2023-09-08 15:49:05
93阅读
1、多线程的应用2、GCD实现多个请求都完成之后返回结果3、A、B两个int数组,得到A数组中B数组不包含的元素4、事件传递链,页面上一个按钮,按钮和它的superView有一样的action,为什么只执行button的action?5、runtime的应用6、array中加入对象,对象的retainCount会加1 如何是的对象自己管理自己的生命周期7、bugly的卡顿监控原理8、如何架构一个A
转载
2023-08-30 13:35:17
124阅读
1.
浅复制和深复制的区别?
们复制拷贝的一
转载
2023-04-04 22:53:00
420阅读
前言其实在我写这边博客之前,也在查阅不好资料,但是发现网上很多人说的内容总结,其实并不正确,导致自己也踩了不少坑,所以才想着重新总结一下,给自己做个参考,也当是复习一下,当然我也可能有不对的地方,希望可以得到改正知识点梳理基本概念简述1.同步函数dispatch_sync2.异步函数dispatch_async 不用等当前语句执行完毕,就可以执行下一条语句,会开启线程执行block,异步多线程的代
转载
2023-09-03 10:03:31
66阅读
背景是昨天看到群里有人发面试题,然后一群人就在那里讨论,看完之后我觉得这几道题写的挺好的,所以这里简务对应的bloc
原创
2016-05-24 11:59:42
104阅读
第一篇面试题整理:://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. #import 跟#include 又什么差别,@class呢, #import<> 跟 #import””又什么差别? 答:#import是Objective-C导入头文件的keyword。#include是C/C++导入头文件的keyword,使用#import头文件会自己主动仅仅导入一次
转载
2017-07-04 17:07:00
411阅读
2评论
常见问题 ●你昨天/这周学习了什么? ●你为什么热衷于软件开发? ●你对哪一种控制系统比较熟悉? ●是否参与过GitHub项目? ●是否参与过GitHub或其他同类型网站的iOS开源项目? ●请描述一下你的iOS应用开发流程。 ●是否熟知CocoaPods?它是什么?如何运行的? ●请概括一下你对软件授权的理解,及其对软件开发的影响。 ●请概括一下你在构建iOS应用时的测试过程。iOS应用如何
转载
2023-08-12 20:17:45
213阅读