2018.4月份的iOS面试经历

原文:https://juejin.im/post/5adaed6a518825673123c757

由于种种原因,本人4月中也就是前两个月,毅然离开了上一家公司,紧接着开始投入到所谓的“3金4银”的就业求职黄金期中。

经过自己一番筛选后,前前后后四天总共面了10家左右。截止目前,已定offer一个,主动拒绝一个。当然,原本还有两家也是很有希望拿offer的,因为本人不愿意接受“9106”的上班模式或拒绝提供薪资银行流水,然后就没有然后了。

就个人面试经历来看,深圳iOS行业面试机会还是比较多的,其中还不乏有些公司主动找上门的。在技术面要求上,不同规模的公司各有差异,大公司除了关注iOS基础,也非常注重算法及数据结构。

由于本人非计算机科班出身,每逢算法必输……算法显得尤为重要,只有发愤图强了。

据个人面试经历及观察,OC仍是iOS开发的主流,基本上没遇到明确使用Swift开发的项目。当然个人还是比较看Swift的,正在Swift道路上努力中……

最近还遇到比较怪的事情,HR在电话预约面试的时候竟然还会先来个iOS基础快问快答环节,真是。。。因吹丝挺。。。。

扯远了,写文本的目的是为了分享一下这几天在面试中遇到感觉比较有价值的笔试题和面试题。

作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要这是一个我的iOS交流群:790958826,不管你是小白还是大牛欢迎入驻 。

二、笔试、面试题

1.算法题

(1).请在1000万个整型数据中以最快的速度找出其中最大的1000个数?

这是一个经常被问到的问题,百度网上解法也很多。

这里仅提供基本思路,供参考:把1000万的整型平均分到合适n个文件中,分别对每一份文件找出前1000个最大的数,最后对每份文件前1000数据用常规算法合并即可。

那么,如何从每一份文件中找出前1000个最大的数呢?

先取文件中前1000个数放到数组中,并排好序(假设升序),之后从文件中读取下一个数与数组第一个数比较,如果比数组中第一个数大,则替换数组第一个数,并重新排序,之后再取下一个数进行下轮比较即可。

(2) .循环链表题:一个有序循的整形环链表断开了,请插入一个整形数,使得链表仍然是有序的。

解题思路:请百度……哈哈。

2. OC题

(1).Block中可以修改全局变量,全局静态变量,局部静态变量吗?

答案,可以。 原因请参考 深入研究Block捕获外部变量和__block实现原理

(2)代码分析题,以下代码输出结果是什么?

@property(nonatomic,strong)NSString*strongString;@property(nonatomic,weak)NSString*weakString;strongString =  [NSStringstringWithFormat:@"%@",@"string1"];weakString =  strongString;strongString =nil;NSLog(@"%@", weakString);

答案: string1,原因:@"string1" 初始化 retainCount == 1; strongString 指向@"string1"对象, retainCount +1,strongString = nil, retainCount -1,最后retainCount == 1,所以输出是string1。

(3)SDWebImage实现原理是什么? 它是如何解决tableView的复用时出现图片错乱问题的呢?

答案:原理请参考 iOS开发之SDWebImage原理 ,解决tableView复用错乱问题:每次都会调UIImageView+WebCache文件中的 [self sd_cancelCurrentImageLoad];

(4)iOS事件响应链机制是什么?

答案:iOS 事件响应链

(5)如图view上有横向排列label1 和 label2, label1,label2间距固定,内容动态变化。 请使用AutoLayout建立约束,保证label2内容要完全显示,label1内容自适应?

答案:请参考 iOS AutoLayout使用技巧

3. Swift题

(1)struct 和 class 的区别?

答案:

区别:

a. 类可以继承,结构体不可以

b. 可以让一个类的实例来反初始化,释放存储空间,结构体做不到

c. 类的对象是引用类型,而结构体是值类型。所以类的赋值是传递引用 ,结构体则是传值。

相同点:

a,类和结构体都可以扩展

b,定义属性用于储存值

c,定义方法用于提供功能

d,定义下标用于通过下标语法访问值

e,定义初始化器用于生成初始化值

(2)class与staitc关键字的区别?

a. static 可以在类、结构体、或者枚举中使用。而 class 只能在类中使用。

b. static 可以修饰存储属性,static 修饰的存储属性称为静态变量(常量)。而 class 不能修饰存储属性。

c. static 修饰的计算属性不能被重写。而 class 修饰的可以被重写。

d. static 修饰的静态方法不能被重写。而 class 修饰的类方法可以被重写。

e. class 修饰的计算属性被重写时,可以使用 static 让其变为静态属性。 f. class 修饰的类方法被重写时,可以使用 static 让方法变为静态方法。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容