自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(152)
  • 收藏
  • 关注

原创 面试滴滴+美团+阿里之后,总结了62道最新iOS面试题

前言:每年三四月份都是招聘高峰期,也就是我们说的金三银四,很多想换工作的职场人士都会选择在此时换一份工作,毕竟一年之计在于春,对于公司和个人而言都是一个新的开始。2021年,各行各业都举步维艰,然而做为iOS面试官的我也在精心准备的为公司招进优秀的iOS开发,期间收到了很多简历,也笔试了不少开发者,上一周我们已经发了3个offer,所以先下手为强,我们已经招满了人的职位,依旧陆陆续续也还有很多的简历投向我们。前面一段时间给公司面试了10个iOS开发,自己总结了62道面试题,在此,我分享给大家,希望大

2021-03-08 22:47:32 1890

原创 备战金三银四,2021最全100道高频iOS面试题分享上(含答案)

原作者:执笔续春秋iOS面试题本面试题为个人使用版本,如后续流传出去,请转发的朋友务必注释一下,答案正确性有待商榷,本人的答案不代表权威,仅仅是个人理解。 文章内部有写混乱,将就着看吧。另外大部分图片加载不出来,,MARKDown格式也不太统一(各平台不一样),由于博主太懒不想改,不过不影响最终效果,一、硬技术篇1.对象方法和类方法的区别?对象方法能个访问成员变量。 类方法中不能直接调用对象方法,想要调用对象方法,必须创建或者传入对象。 类方法可以和对象方法重名。引伸1. 如果在类

2021-03-03 20:52:29 6456 1

原创 最新2022【iOS开发面试真题】初级,中级,高级

前言:我是一名开发者,一个iOS交流圈子的维护者,对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们!标语:不要浪费美好的年华,做自己觉得对的事情!点赞的都今年发财啦[全新iOS 电子书大全 和 iOS 进阶面试文档] 全套附下载地址 来获取一份详细的大厂面试资料 为你的跳槽加薪多一份保障Object-C系列面试题基础题:1.Objective-C的类可以多重继承么?可以实现多个接口么?Catego

2022-03-26 14:49:26 5257

原创 iOS面试了20几家总结出来的面试题(上)

iOS面试题本面试题为个人使用版本,如后续流传出去,请转发的朋友务必注释一下,答案正确性有待商榷,本人的答案不代表权威,仅仅是个人理解。 文章内部有写混乱,将就着看吧。另外大部分图片加载不出来,,MARKDown格式也不太统一(各平台不一样),由于博主太懒不想改,不过不影响最终效果。更新日志2020年08月17日 更新了第23条的新的引申,关于NSTimer循环引用的根本原因, 以及优化方案一、硬技术篇1.对象方法和类方法的区别?对象方法能个访问成员变量。类方法中不能直接调用对象方法,想

2022-03-22 15:57:52 736

原创 12个iOS技术面试题及答案总结

** 前言**随着移动互联网科技不断的发展和创新,如今无论是公司还是开发者或设计师个人而言,面试都是一项耗时耗钱的项目,而面对iOS开发者及设计师在面试时可能会遇到的问题进行了筛选与汇总。下面我们一起来一下看看吧。一、如何绘制UIView?绘制一个UIView最灵活的方法就是由它自己完成绘制。实际上你不是绘制一个UIView,而是子类化一个UIView并赋予绘制自己的能力。当一个UIView需要执行绘制操作时,drawRect:方法就会被调用,覆盖此方法让你获得绘图操作的机会。当drawRect:方

2022-03-11 16:09:01 2118

原创 阿里、字节:一套高效的iOS面试题

简述笔者最近收集梳理了一些iOS相关的问题,其中大部分都是大厂面试或者面试其他人用到的,能命中大部分的面试和日常工作,更希望你可以用它来检验自己同时小编也欢迎大家加入小编的iOS交流群413038000,群里会提供相关面试资料,书籍欢迎大家入驻!由于问题量太大,本文只是给了问题,希望发挥圈友的动手能力,自己去探索下,也可以在下方进行评论回复你的答案或者提出更高质量的问题!!!runtime相关问题runtime是iOS开发最核心的知识了,如果下面的问题都解决了,那么对runtime的理解已经很

2022-01-23 14:30:31 495

原创 116道iOS面试题+答案,希望对你的面试有帮助

之前看了很多面试题,感觉要不是不够就是过于冗余,于是我将网上的一些面试题进行了删减和重排,现在分享给大家。(题目来源于网络,侵删)1. Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么?答: Object-c的类不可以多重继承;可以实现多个接口,通过实现多个接口可以完成C++的多重继承;Category是类别,一般情况用分类好,用Category去重写类的方法,仅对本Category有效,不会影响到其他类与原有类的关系。2. #

2022-01-08 16:13:45 7102

原创 5个步骤发布一个iOS组件

1、clone组件模板首先我们来为项目创建一个关于题库的功能组件LYQuestionKit。在桌面创建一个名为Demo的文件夹,使用终端切换到该文件夹目录下。pod lib create LYQuestionKit //执行下面的命令pod会自动把https://github.com/CocoaPods/pod-template.git 远程的模板clone到本地复制代码把想要分享的(.h,.m)文件放在ReplaceMe.m 同级目录,删除ReplaceMe.m文件。如果你正在面试,或者正准

2021-12-27 16:37:38 1291

原创 iOS 开发大厂面试通关指南

前言:我们都知道,面试可能会让人感到压力山大——不管你是第一次参加面试的新手,还是已经有几年开发经验做背书的业内人士,面试都会带来压力。作为一名面试者,你必须好好准备,以展现出自己最好的一面,而想要在一场1小时左右的谈话中做到这一点是很困难的。作为开发人员,我们通常不情愿去用心学习文档,甚至很多简单的东西还需要临时去Google搜索。这没关系,没人会要求我们记住一切知识点……但如果是面试的话那就不一样了。作为一名面试官,面试可能也不是那么简单的。你想为公司招募一个非常适合你们团队的人,但你没有太多时间

2021-12-10 20:38:26 421

原创 iOS开发--Swift:布局库——SnapKit

如果你是只从事过iOS开发,觉得使用SnapKit(OC中的Masonry)很方便,甚至xib拖拉也不错。可以说,这些都是iOS开发稀疏平常的日常。但一旦你学过Flutter/Vue写过UI组件,那么iOS的UI编写真的是有种不忍直视的感觉,可以说是原始社会。虽然隔壁Android的UI写起来也不会特别友好,但是还是比iOS好。为啥,因为其他的UI编写基本上都可以既见既所得了,就算犯了错,边看边边调试就行了只有iOS的需要编译调试。。。编译调试。。。编译调试。。。而且其他家的UI编写基本上都是一

2021-12-02 14:23:50 3023

原创 iOS的CoreData技术详解

为什么写这篇文章最近因为新项目想用到数据持久化,本来这是很简单的事情,复杂数据一般直接SQLite就可以解决了。但是一直以来使用SQLite确实存在要自己设计数据库,处理逻辑编码,还有调试方面的种种繁琐问题。所以考虑使用iOS的Core Data方案。上网查了一堆资料后,发现很多代码都已经是陈旧的了。甚至苹果官方文档提供的代码样例都未必是最新的Swift版本。于是萌生了自己写一篇文章来整理一遍思路的想法。尽可能让新人快速的上手,不但要知道其然,还要知道其设计的所以然,这样用起来才更得心应手。什么是C

2021-11-23 15:56:18 288

原创 iOS开发——Swift中的函数盘点

前言:Swift已经被越来越多的公司使用起来,因此Swift的学习也应该提上日程了。本篇就先探索Swift中的函数,主要包括以下几个方面:Swift函数定义Swift函数参数与返回值Swift函数重载内敛函数优化函数类型、嵌套函数一、Swift函数定义函数的定义包含函数名、函数体、参数及返回值,定义了函数会做什么、接收什么以及返回什么。函数名前要加上 func 关键字修饰。如下为一个完整的函数定义事例:func greet(person: String) -&gt

2021-11-23 15:55:07 2108

原创 iOS逆向——带你深入了解LLDB调试

写在前面日常开发中经常会用到LLDB调试,可能用的最多的命令就是po,而在逆向领域中根本不可能让你在代码中下断点调试,于是乎LLDB就成了非常重要的手段一、LLDBLLDB(Low Lever Debug)的缩写,是默认内置于XCode的动态调试工具,它与LLVM编译器一起,存在于主窗口底部的控制台中,能够带给我们更丰富的流程控制和数据检测的调试功能标准的LLDB提供了一组广泛的命令,旨在与老版本的GDB命令兼容。除了使用标准配置外,还可以很容易的自定义LLDB以满足实际需要二、LLDB命令1.

2021-10-19 20:58:17 1257

原创 在iOS中高效的加载图片

在iOS开发中,图片(UIImage)是我们在开发中,占用手机内存比较大的对象,如果在运行过程中,内存占用过大,对电池寿命会造成影响,如果超过了内存占用的最大值,会造成App的crash。这篇文章从图片的加载原理和SDWebImage的源码实现的角度来介绍图片加载。图片的渲染流程在iOS中使用 UIImage和UIImageView来记载图片,他俩遵守经典的MVC架构,UIImage相当于Model,UIImageView相当于View:UIImage负责加载图片,UIImageView负责渲染图片

2021-10-18 21:32:54 1431

原创 2021年3-5年经验iOS面试总结

求职之路可谓是“一把辛酸一把泪”。除了经验和阅历,完全没有优势。但还是收到几家公司的面试邀请,但之后便没有后续。趁面试之余将面试室所遇到提问总结整理一下,以供大家参考:内存管理软件运行时会分配和使用设备的内存资源,因此,在软件开发的过程中,需要进行内存管理,以保证高效、快速的分配内存,并且在适当的时候释放和回收内存资源。一、Objective-C内存管理的对象IOS开发中,内存中的对象主要有两类,一类是值类型,比如int、float、struct等基本数据类型,另一类是引用类型,也就是继承自NSOb

2021-09-26 16:14:50 230

原创 网易有道 iOS开发面经

UIView 和 UIControl 的关系与区别UIView侧重于页面布局,因addTarget:action:forControlEvents是在UIControl中定义的,它的父类UIView中没有,所以没有事件交互的方法,可以通过手势UITapGestureRecognizer来实现UIControl侧重于事件交互,最大的特点是拥有addTarget:action:forControlEvents方法UIControl继承自UIViewCommand+B和Command+R

2021-09-13 20:39:40 282

原创 iOS底层学习——KVC

1.KVC协议定义键值编码是由NSKeyValueCoding非正式协议启用的一种机制,对象采用该机制来提供对其属性的间接访问。当对象符合键值编码时,其属性可通过字符串参数通过简洁、统一的消息传递接口进行寻址。这种间接访问机制补充了实例变量及其相关访问器方法提供的直接访问。KVC在Objective-C中的定义KVC的定义都是对NSObject的扩展来实现的(Objective-C中有个显式的NSKeyValueCoding类别名-分类)。查看setValueForKey方法,发现其在Found.

2021-09-03 21:03:33 490

原创 iOS基于二进制重排启动优化

一、重排原理当我们向操作系统申请内存时,操作系统并不是直接分配给我们物理内存,而是只标记当前进程拥有该段内存,当真正使用这段内存时才会分配。这种延迟分配物理内存的方式就通过 page fault 机制来实现的。1.page fault产生原因当我们访问一个内存地址时,如果该地址非法,或者我们对其没有访问权限,或者该地址对应的物理内存还未分配, cpu 都会生成一个 page fault ,进而执行操作系统的 page fault handler 。如果是因为还未分配物理内存,操作系统会立即分配物理内存

2021-08-19 15:20:33 1399 2

原创 iOS逆向 -- 应用重签名学习 (实战总结)

一、前言在日常正向开发打包提交时,我们都会对应用进行签名,然后上传到App Store。其中签名的这个过程 XCode 已经帮我们做过了,我们只需要配置好证书和描述文件就可以。但是如果我们希望学习其他的应用,进行一些逆向开发,就需要调试其他的应用,而我们首先就需要对这些应用进行重签名。二、iOS双层签名机制2.1、加密方式了解首先,我们先了解下iOS签名中用到的加密方式,RSA & Hash。**RSA加密:**一种非对称加密方式,也叫现代加密(区别与传统的对称加密)。这种方式的加密会生

2021-06-29 22:25:04 658 1

转载 阿里二面:什么是mmap?

平时在面试中你肯定会经常碰见的问题就是:RocketMQ为什么快?Kafka为什么快?什么是mmap?这一类的问题都逃不过的一个点就是零拷贝,虽然还有一些其他的原因,但是今天我们的话题主要就是零拷贝。传统IO在开始谈零拷贝之前,首先要对传统的IO方式有一个概念。基于传统的IO方式,底层实际上通过调用read()和write()来实现。通过read()把数据从硬盘读取到内核缓冲区,再复制到用户缓冲区;然后再通过write()写入到socket缓冲区,最后写入网卡设备。整个过程发生了4次用户态和内

2021-05-18 21:13:43 140

转载 七年iOS架构师教你如何一举拿下35K的Offer,(附面试技巧)

前言:现在很多人即将毕业或者换工作面临找工作,为了帮助大家,遂写下这篇文章。如果你想进入BAT,抑或拿到高工资,无论你的基础如何,你至少要花三个月时间来准备简历、笔试题、面试题。对于没有项目经验,没有计算机专业背景,甚至没有学历背景的朋友,更需要花时间来准备了,建议半年以上。脱颖而出的简历,一份优秀的简历一定要有以下描述:(一)基本信息1、姓名、手机、邮件这三个信息是必备的,邮件一定不要使用 QQ 邮箱,会显得你很 LOW,建议用 Gmail 邮箱,

2021-05-17 21:14:26 350

转载 iOS开发者月薪想要突破30K,需要经历+提升些什么?

前言:本文分享内容如题。根据强哥的经验,我们可以把职业生涯进行一个简单的规划,要实现月薪2万的目标(在一线城市到也不难,二线城市相对低一些,我们就取个中间值吧,2万的目标就是指一线城市3万左右月薪,二线城市1万5左右月薪这么个水平),大致需要经过以下几个阶段:第一阶段 迷茫期毕业0到3年时间范围,薪水5-8K居多(一线城市更高一点,二线城市刚好,三线城市更低一点。秀优越感和杠精们绕道。),可能有很多朋友都处于这个阶段,比上不足,比下有余,内心很动荡,总觉得别人的技术才是最好的,自己所拥有的都是垃圾。

2021-05-13 22:46:02 223

转载 月薪 10K 与30K的程序员 区别到底在哪里?

前言:有人看到这样的问题,第一感觉的答案就是“因为你是初级工程师,他是高级工程师呗~”。这确实是一个很好的答案!不管什么样的职业都有一个从“初级”到“高级”的过程,没有哪个人能一步登天,生出来就是当架构师、CTO 之类的职位的。那么怎么样才能从初级走到高级呢?怎么样才能用更短的时间完成这个过渡的阶段呢?今天就来聊聊同样是程序猿,10K与30K的差距到底在哪!1,工作经验与技术积累说到高级工程师大家的第一印象自然就是工作经验丰富,技术够牛逼。注意这里说的是工作经验,并不是指工作时间。有的人踏踏实

2021-05-07 20:54:54 260

转载 那些月薪35K以上的iOS开发者 都掌握了什么技能?

前言:对于我们绝大多数人来说,工作最基本的意义是我们可以通过自己的劳动换取酬劳来养活自己,尤其是对于刚毕业的学生,拥有一份全日制的工作意味着自己走出校园,踏上社会,自己真正开始独立起来。在养活自己的基础上,我们才会考虑一些其他的,比如收入的高低、自己是否能得到进步、工作内容是否愉快、工作环境是否满意、公司前景等等,然后根据自己的个人需求进行抉择,选择自己满意的工作。所以对于工作来说,我觉得首先应该保持一种敬畏的态度,毕竟是工作给了我们报酬,所以作为回报,我们应该努力且负责地对待它。其次对于每个人尤其

2021-04-27 20:29:25 153

转载 iOS程序员自述,从月入10k到年薪百万,移动架构师如何养成的?

前言尤其是在最近一段时间内,感觉一天天的时间过得又慢又快,慢的是感觉复工了以后在公司的8.9个小时简直算是煎熬了,快的是常常感觉时间一天天,一月月的过去了,可是发现自己还在原路踏步走。看似每天忙成狗,回头却发现,月复一月,日复一日,薪资没涨一点,年龄越来越大了。不知道时间都到哪里去了,明明是每天兢兢业业的工作,可是怎么就得不到提升呢?其实是我们的学习效率太低,没有合理 的规划而已~总结了一下为什么效率这么低,完全规划不起来?我们在上学以来一直都羡慕那种玩的多但是考的又好的人,他学习的时候你也在学习,

2021-04-20 21:52:50 328

转载 如何快速成为一名合格的iOS开发架构师?

前言:最近好多人私信问我,该怎样才能成为架构师,还有一个就对当前的状态感到迷茫。我在此做一个简单的说明,或者对迷茫中的你来说有些许帮助。如果你是想成为iOS架构师,那么你首先要是一个iOS高级攻城狮。也就是说,基础底层知识必须牢固,对iOS的了解全面而且深入。有很多人对现在的工作感到很没意思,因为当前的工作,完全是实现业务,技术上没有任何提高。在这种状态下就会感到迷茫,特别是一想到将来这种迷茫感就更强烈了。与其说迷茫还不如说是担忧,随着时间的推移,自己的技术又没有长进,所以感觉忧心忡忡。这里分为这

2021-04-20 21:32:40 276

原创 2021年大厂iOS开发 经典面试题 - 下篇

1、RuntimeObjective-C 是面相运行时的语言(runtime oriented language),就是说它会尽可能的把编译和链接时要执行的逻辑延迟到运行时。这就给了你很大的灵活性,你可以按需要把消息重定向给合适的对象,你甚 至可以交换方法的实现,等等。RunTime简称运行时。就是系统在运行的时候的一些机制,其中最主要的是消息机制。OC的函数调用成为消息发送。属于动态调用过程。在编译的时候并不能决定真正调用哪个函数(事实证明,在编 译阶段,OC可以调用任何函数,即使这个函数并未实现,只

2021-04-19 21:52:39 269

原创 从事 iOS 开发8年的面经——送给准备跳槽的你!

前言:今天和大家分享一下,我从事iOS开发8年的面试心得。大大小小参加过不下35+公司的面试,其中不乏BAT、TMD等一线互联网公司,总结一下,发现大厂招聘都有一个共性。对技术的要求很全面,有些同学认为iOS掌握了基础的UI、网络、内存、多线程等等就够了,其实要想更好的应付iOS的面试,这些是远远不够的。比如对RunTime底层实现机制、RunLoop的用户态到核心态切换逻辑,设计模式、架构以及框架的考察,再比如,可能是让很多同学头疼的算法问题,然而算法问题是一线大厂的必考内容。所以我们需要学习和掌握

2021-04-13 20:40:28 395

转载 想进BAT大厂的 iOS程序员,看完这个你还觉得Offer难拿吗???

前言:从呆了将近两年的公司正式离职,交接完全部工作,心里还有有点不舍。谈及离职原因主要是个人发展,感觉自己的发展遇到了瓶颈,目前工作内容也感觉没有太大的挑战。这无关钱的问题,最主要的原因就是自己想更大努力的提升自己,充实自己,换一个工作环境,刺激自己的学习动力,所以这个时候离开舒适区,或许对自己的未来是一个好的选择。在面试辣么短的时间内,毕业生如何"秀"出自己呢?该做哪些准备?有什么问题值得注意?笔者专门采访了一些实例,希望能给大家提供一些就业指导。做不好自我介绍,在取得面试官好感这一关上,估计你就

2021-04-07 20:40:45 210

原创 iOS开发技能栈:年薪60W的老司机,手把手带你如何突破自身技术瓶颈

前言:本篇文章适用于所有在这个行业已经有了几年时间后想要在职业生涯中取得突破的开发人员,编程人员和程序员(或者你可能刚刚开始,但希望你能看到你的路径)本文适合那些有着简单愿望的人:你想成为一名高级开发人员,并希望在你的领域中脱颖而出。在阅读完这篇文章后,您将获得一组具有最佳资源列表的路径,供您升级并成为高级开发人员。**免责声明:**与生活中的所有事物一样,您可以随时设定自己的路径。尽管这不是唯一的方法,但是这是我在自己的职业生涯中发现的一种方法,并且通过我在过去一年中与我认为是社区中资深和受人尊敬的

2021-03-29 20:31:41 327 2

原创 升级版iOS开发面试题,难倒80%的iOS程序员?

序言:之前一时兴致在本站上出过一份iOS的中级面试题,引起一些关注,不少同学表示对”隐藏关卡“感兴趣。升级版iOS面试题来了,目测难倒90%iOS程序员,目测一大波程序员撸着袖子在靠近。每道题都不难,对知识广度有要求,请摸着良心回答,不要百度。**声明:**这份面试题和iOS程序员本身技术水平没任何关联,无论你能否全部答出,都不要对自己产生任何正面或消极的评价,请理性对待,权当做闲暇之余的消遣。作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS交流群:834688868,不

2021-03-24 20:18:59 203

原创 iOS经典面试题

前言随着移动互联网科技不断的发展和创新,如今无论是公司还是开发者或设计师个人而言,面试都是一项耗时耗钱的项目,而面对iOS开发者及设计师在面试时可能会遇到的问题进行了筛选与汇总。下面我们一起来一下看看吧。一、如何绘制UIView?绘制一个UIView最灵活的方法就是由它自己完成绘制。实际上你不是绘制一个UIView,而是子类化一个UIView并赋予绘制自己的能力。当一个UIView需要执行绘制操作时,drawRect:方法就会被调用,覆盖此方法让你获得绘图操作的机会。当drawRect:方法被调用,

2021-03-19 20:34:11 1067

原创 2021年大厂iOS 面试题 - 前篇

Swift好多坑,一个人填不来,怎么办问身边同事吧,又怕被暗笑技术差劲1、如何追踪app崩溃率,如何解决线上闪退当iOS设备上的App应用闪退时,操作系统会生成一个crash日志,保存在设备上。crash日志上有很多有用的信息,比如每个正在执行线程的完整堆栈跟踪信息和内存映像,这样就能够通过解析这些信息进而定位crash发生时的代码逻辑,从而找到App闪退的原因。通常来说,crash产生来源于两种问题:违反iOS系统规则导致的crash和App代码逻辑BUG导致的crash,下面分别对他们进行.

2021-03-16 21:57:29 1091

原创 从阿里iOS面试官角度教你,如何给面试官留下好印象?拿到大厂Offer

我可能是在同龄人中做面试官经验比较丰富的,在某乎实习的时候就参与了前端的技术面试。后来在阿里以及另一家公司也面试过不少候选人,校招、社招、外包都有面试过。这里以一个面试官的角度来给大家谈谈在面试的时候怎么能给面试官留下更好的印象,更容易拿到大厂的Offer。为了不造成任何面试题泄露,这里我不会涉及到任何具体的面试题。推荐阅读:iOS开发——2021 最新 BAT面试题合集(持续更新中)如果你依然在编程的世界里迷茫,不知道自己的未来规划,小编给大家推荐一个iOS高级交流群:834688868 里面可.

2021-03-15 23:02:06 236

原创 2021年最新 iOS面试高级知识

一、类别OC不像C++等高级语言能直接继承多个类,不过OC可以使用类别和协议来实现多继承。1、类别加载时机在App加载时,Runtime会把Category的实例方法、协议以及属性添加到类上;把Category的类方法添加到类的metaclass上。2、类别添加属性、方法1)在类别中不能直接以@property的方式定义属性,OC不会主动给类别属性生成setter和getter方法;需要通过objc_setAssociatedObject来实现。@interface TestClass(ak)

2021-03-08 22:38:54 607

原创 面试了一个 31岁的iOS开发者,思绪万千,30岁以上的程序员还有哪些出路?

前言之前HR给了我一份简历,刚看到简历的第一眼,31岁? 让我有点意外,实际上,现在开发趋向于年轻化,大部分都是90后、95后,毕竟,软件开发不像硬件开发一样,年限越高,相对来说越吃香。31岁,iOS开发工程师,工作经历7年,5年左右都在外包公司,2年左右在创业公司。经常能在网上听到一些某某公司清退一些35岁以上人员,小编工作也有4年多了,说实话,也有点迷茫,特意百度查了一下30岁程序猿的出路,发现知乎上有这么一个话题,“30岁以上的程序员该何去何从?”[外链图片转存失败,源站可能有防盗链机制,

2021-02-24 21:29:35 3746

原创 iOS基础面试题之RunLoop篇

RunLoop是什么,有什么作用,如何获取?定义RunLoop的实质是一个死循环,用于保证程序的持续运行,只有当程序退出的时候才会结束(由main函数开启主线程的RunLoop)作用保持程序的持续运行处理App中的各种事件(触摸、定时器、Selector事件)节省CPU资源,提高程序性能(该做事做事,没事做休息)获取方法使用NSRunLoop(面向对象)或者CFRunLoopRef(底层C语言)RunLoop的原理RunLoop开启一个循环事件,并接受输入事件,接

2021-02-24 21:25:48 604

原创 我的2020 八月iOS面试秘籍,看完为你的跳槽保驾护航

前言开门见山,这篇文章,适合**「中高级iOS开发」**,如果你现在待业,或者想跳槽并且还在求职的话,可以看看本文,找一找灵感,希望对你们有帮助。2020年注定是一个特殊且不平凡的一年。*疫情之下,内忧外患,部分企业,倒下的倒下,扣薪的扣薪……,在这样的大环境之下,即是危机也是机会,毅然决定踏上求职之路。起初自信满满,在没有做好充分准备情况之下,简历寥寥草草,简简单单,以至于错失不少好机会。切记切记!吃一堑长一智。最后通过优化精简排版简历,接到不少互联网大厂的邀约面试。事实证明,拥有一份好简历

2021-02-23 15:02:27 698

原创 iOS AOP 方案的对比与思考

AOP 思想AOP:Aspect Oriented Programming,译为面向切面编程,是可以通过预编译的方式和运行期动态实现,在不修改源代码的情况下,给程序动态统一添加功能的技术。面向对象编程(OOP)适合定义从上到下的关系,但不适用于从左到右,计算机中任何一门新技术或者新概念的出现都是为了解决一个特定的问题的,我们看下AOP解决了什么样的问题。例如一个电商系统,有很多业务模块的功能,使用OOP来实现核心业务是合理的,我们需要实现一个日志系统,和模块功能不同,日志系统不属于业务代码。如果新建一

2021-01-06 20:40:53 225 1

转载 分析字节跳动解决OOM的在线Memory Graph技术实现

之前看到字节团队分享的 “iOS性能优化实践:头条抖音如何实现OOM崩溃率下降50%+”这篇文章,对其实现比较感兴趣,但是没有开源,所以觉得自己花时间探索一下具体实现。什么是OOM,为什么会发生OOM以及其原因分析,大家去看原文就好了,本文主要分析APP内存使用到达阈值后,如何采集Memory Graph信息并分析。什么是Memory Graph?这个时候就进入了断点模式,可以查看issue面板,注意选择右边Runtime:有很多叹号说明就有问题了。看内存中object的名字,有.

2021-01-06 20:38:00 2730

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除