你能用到的iOS面试题(三)

题目来源这里 本篇文章解答的是一般性问题,之前的2篇文章iOS开发-你能用到的面试题(一),iOS开发-你能用到的面试题(二)

最近这两天你有学到什么知识/技能么?

面试官也知道你这两天都在找工作,但是他还是这样问的目的是想知道你对这两天的面试准备了什么?

参考答案:
第一,这两天我对之前做的笔记整理了一下,对之前工作上遇到的BUG,坑进行了梳理(这里说下遇到了哪些BUG或者坑).第二,要在新的工作中展现新的自己,告别过去.第三,对未来的自己定下一个目标

最近有做过比较酷或者比较有挑战的项目么?

这个问题着重点在于酷和挑战.酷是想问下你有没有做过应用很多动画的项目,挑战是想问下你有没有做过什么有技术难点,然后你把它逐一攻破的项目.但是如果没做过也不能回答一句这个没做过,面试官问这个问题主要是想看下你有没有学习能力和解决问题的能力,一句没做过会让你减分不少.

参考答案:
酷这方面可以说自定义的炫酷的转场动画,还有一些细节上的动画,譬如半糖的那个下拉刷新个人就觉得很酷,什么值得买里的商品百科里用到的动画也很多.没做过这方面没事,但必须能说出一二点是如何实现这些动画的,gihub上有很多关于动画的小demo.
挑战这方面个人觉得分两方面.假如你是管理层的,可以说下你是如何解决团队中的冲突,如何代码模块化.假如你是技术这块的,可以说下你在工作中遇到了哪些技术难点,你是怎么去解决这个技术难点的等等.

最近看过的书/文章有哪些?

这个问题考察的也是你是否喜欢钻研技术,学习技术,也可以从你看的书中大概明白你是属于什么档次的

参考答案:
最近在看《The Swift Programming Language》,喜欢看一些博客,如果有喜欢看英文文档或者博客的这里可以重点说明下,毕竟很多公司都是需要程序员可以看懂英文文档的.

为什么要学习编程,编程对你而言的乐趣在哪儿?

这个问题面试官想考察的是你对编程的认知是什么,编程对于你而言是什么,你对编程的态度如何,你是否是对这个编程有浓厚的兴趣而不是纯粹的只是因为这行赚钱多才做这行

参考答案:
为什么学习编程这边可以介绍下你是如何进入这行的,乐趣对于我而言有以下几点吧.第一,看着代码一行行从指下敲出,然后慢慢构建成一个完整的APP的那种愉悦感.第二,花费长时间去解决一个BUG,当最终解决掉这个BUG后那种酣畅淋漓的感觉.第三,有人问你问题,然后你帮忙解决以后,那种满足的感觉.第四,你可以和懂技术的人聊天,就像大学时候大家一起聊LOL一样

如果一个函数10次中有7次正确,3次错误,问题可能出现在哪里?

这个问题面试官考察的就是个人的水平的,还有你如何考虑问题,解决bug的能力.因为这个只是出错,并没有崩溃,看不到crash日志,也不能通过别的工具来定位错误

参考答案:
1.首先既然有正确有错误,那么这个bug肯定是不一定会出错的,先看函数条件是否有漏写
2.然后再检查函数是否会存在空的情况
3.反复操作以上步骤去查明每个调用的函数结果都是正确的

自身最大优点是什么,怎么证明?

这个问题其实蛮难回答的,大部分人要他列举优点会不知道该怎么讲,就和别人问我你最喜欢你女友哪一点一样,不知道该怎么去回答

参考答案:
最大优点有点不好讲,可以讲讲有哪些优点
1.可以说学习能力强,能很快接受新事物(这里就可以讲讲你最近学了一些什么新技术)
2.笔者的话闲暇喜欢写写博客,回答回答群里的问题,看些博客,多记笔记,高仿些APP
3.如果你有参与过开源项目或者github上有什么开源项目这里也可以说出来
4.可以讲下你觉得你技术最牛逼的地方,自己有专精的技术肯定要讲出来,说的越多越好

开发常用的工具有哪些?

通过这个问题面试官也可以大概知道你是什么水平的,如果你只能讲什么xcode,cocoapods或者xcode自带的一些工具的话面试官也许就会把你定位于初级

参考答案:
1.友盟统计
2.青花瓷:这个软件还是蛮不错的,可以用来过滤网络请求,模拟低速网路,还可以修改网络请求内容这些
3.Reveal:调试页面不错,还有用来学习别人的demo时候可以拿来看UI层次结构,还可以用来标记可以设为透明的控件,用来优化性能

熟悉 CocoaPods 么?能大概讲一下工作原理么?

这个的话大部分人应该都会用,可以讲下CocoaPods有哪些注意点,原理的话不讲也没啥事,毕竟这个工具大家只要会用就行

参考答案:
CocoaPods注意点:CocoaPods在pod install以后会生成一个Podfile.lock的文件,这个文件在多人协作开发的时候就不能加入在.gitignore中,因为这个文件会锁定当前各依赖库的版本,就算之后再pod install也不会更改版本,不提交上去的话就可以防止第三方库升级后造成大家各自的第三方库版本不同

CocoaPods原理:
1.Pods项目最终会编译成一个名为libPods.a的文件,主项目只需要依赖这个.a文件即可
2.对于资源文件,CocoaPods提供了一个名为Pods-resources.sh的bash脚本,该脚本在每次项目编译的时候都会执行,将第三方的各种资源文件复制到目标目录中
3.CocoaPods通过一个名为Pods.xcconfig的文件在编译时设置所有的依赖和参数

最常用的版本控制工具是什么,能大概讲讲原理么?

这个版本控制看公司要求了,git的工具是SourceTree,svn的工具是Cornetstore,原理的话把常用的几个命令记一下就好,git的话大家可以看下廖雪峰写的一本Git的书,github上大家可以搜下

今年你最想掌握的一门技术是什么?为什么?目前已经做到了哪个程度?

最想掌握的技术肯定是自己不会的了,为什么,那肯定是想技术更牛逼嘛,什么程度呢就自己把握了.

参考答案:
个人的话今年想深入的研究一下动画,并且把Switf巩固下.这个答案其实想怎么说都行.

你一般是怎么用 Instruments 的?

这个问题也就是考察下你经验如何了, Instruments里面工具很多,也没必要逐一说明,挑几个常用的说下就好

参考答案:
1.Time Profiler:性能分析
2.Zombies:检查是否访问了僵尸对象,但是这个工具只能从上往下检查,不智能
3.Allocations:用来检查内存,写算法的那批人也用这个来检查
4.Leaks:检查内存,看是否有内存泄露

你在你的项目中用到了哪些设计模式?

设计模式有很多,面试官肯定不想听你把项目里的设计模式名字报给他,他想听得肯定是你是怎么去用这些设计模式的

参考答案:
1.MVC:这个设计模型大部分应用应该都在用,介绍下MVC就好
2.单例:单例在项目中用的还是蛮多的,像登录界面,对一些第三方框架二次封装等等
3.KVC/KVO:这个用的应该也很多,KVC用来替换掉系统的tabbar,用KVO来监听偏移量来完成下拉刷新,改变导航条背景颜色这些
4.工厂方法:这个用的更多了,设置一些自定义View肯定要用到这个设计模式

如何实现单例,单例会有什么弊端?

这个问题还是蛮简单的,说下单例是怎么写的,单例的缺点就好

参考答案:

// OC版
+ (instancetype)sharedInstance
{
    static id sharedInstance = nil;
    
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        
        sharedInstance = [[self alloc] init];
    });
    
    return sharedInstance;
}

// Swift版
static let sharedInstance : <#SingletonClass#> = <#SingletonClass#>()

单例的缺点也就是会一直占着这块内存,不会被释放

iOS 是如何管理内存的?

这个问题的话上篇文章也提到过,讲下block的内存管理,ARC下的黄金法则

这里说下swift里的内存管理:
delgate照样weak修饰,闭包前面用[weak self],swift里的新东西,unowned,举例,如果self在闭包被调用的时候可能为空,则用weak,反之亦然,如果为空时使用了unowned,程序会崩溃,类似访问了悬挂指针,在oc中类似于unsafe_unretained,类似assign修饰了oc对象,对象被销毁后,被unowned修饰的对象不会为空,但是unowned访问速度更快,因为weak需要unwarp后才能使用

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

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,504评论 25 707
  • 前言 面试题中有一些一般性的问题,通常是会问到的。面试iOS应聘者时,切入点很重要,不同的切入点会导致不同的结果,...
    安成林阅读 513评论 0 3
  • 昨下午到今天中午,一场雪下得不小。收音机还说下雪空气好,但现在看看天气预报,其中有污染指数,又已经恢复到147。真...
    柳溪阅读 193评论 0 0
  • 晚上吃完饭已是九点多了,送朋友进地铁后,去公交站等公交。地铁站到公交站大概一百来米的样子,不是很远。 一出地铁口,...
    一品飞阅读 279评论 0 1
  • 周末吃饭,我的老同事问我nginx的平滑升级会么?我顿时想起来了之前面试过的一道题,考的就是这个问题。我之前的确也...
    心蓝风云阅读 1,117评论 1 1