开发者社区> 问答> 正文

iOS面试题

杨冬芳 2016-06-23 17:43:53 1044

有3家奇葩公司,第一家比较出名,人人公司,面试个时候还给我贴一个小标签。。。我在外面厅里坐着,以为一会会有人带我进公司里面试,没想到人来了后是在外面的厅里面试。面试我的是个妹子,长的什么样忘了,就记得衬衫领口开的相对低了点,虽然没露胸,不过我一般都是习惯低头思考,偶尔能瞟到一眼,我的思绪就忍不住短路,(~ ̄▽ ̄)~。开始问的很正常,后来让我给他看下项目,妹子说这个app没技术难度啊,问我自己做过什么觉得难的功能,每次有人这么问我的时候,我心上都好像是有成群结队的草泥马踏过,说实话,app这方面,一些比较难的需求都会用开源控件来搞定,而且之前公司都不是大公司,也不会有超过行业标准的设计。之后妹子问我用过xxx什么东西,我当然没用过,不过平时有了解一些,了解程度也不是很深,所以我不敢说自己用过,然后问题来了,妹子说nstimer加到runloop里后,不放到子线程的话,还是会跟没加入到runloop一样会在按住tableview时不执行更新ui,她问我有没有讲nstimer加到子线程的runloop,我记得好像就是加载主线程的,因为iOS子线程的runloop需要自己手动启动,我根本没调用启动的代码,然后我就装思考状,沉默了一会。走出门的时候我就能感觉到这场面试难有结果。之后回家一看以前写的代码,果然没有开子线程执行nstimer。

第二家呢,在西直门,离地铁不太远,10多分钟就走到了,地点也很好找,hr带我到公司里,因为没带简历就用hr电脑登录了下智联下载了一份简历给他,之后让我先去沙发那等着,一看沙发附近坐满了人,我就旁边的找了个座位,我当时看了一下,大约有10多个人在等着,等到我面试的时候期间又来了4个,面试的也没问什么技术问题,就大约问了做过什么项目,接不接受加班。it这行嘛,加班都是常态,当然能接受,一般都是加班到晚上9点,好吧,我也能接受,谁叫工作不好找呢。接着重点来了,他说公司不是双休,什么!竟然不是双休!!!好吧,我也能接受,毕竟工作不好找。。。我刚说单休也可以接受,对方就说单休也没有,心里又是一阵草泥马踏过,北京的软件业还有997(早9晚9一周7天)的存在?当时就不淡定了,997就是机器人也抗不住啊。随后就结束了面试,回去的路上想了想,这些高强度的工作,怪不得面试那么多人。。。

第三家公司,在高碑店,猎头推荐的我,我住昌平,到高碑店2个小时,下了地铁,找不到怎么办啊,高德导航吧,C座6xx,转了一圈,问了2个人终于找到C6号楼了,咦,看外面牌子的公司名貌似没有这家公司,怎么办,给对方hr打个电话问问是不是这吧,结果果然不是,说是在C11号楼附近还有一个酒店,好吧,算是有地标啊,找吧,继续一边导航一边转啊转,到了C11门口,我就张望四周,哪有什么鸟蛋酒店,还是看看高德有什么提示吧,接着,我就发现,上面有A座,B座,就是没有C座,坑爹的高德地图,接着我又想起问第一个保安时人家说C座在B座北面,好吧,认真看看地图,应该是B座北面那个无名楼吧。爬上去一看,真的是呀,公司挺宽敞,填了张表,这张表可能是我填写最全的背景调查表格,正反两面,该问的不该问的全问了,当然该写的写,不该写的不写,表格交上去,5分钟后来个开发面试我,看我是13年工作的,上来就盯着mrc内存管理问我,这些东西说实话,现在都不用了,他可能是觉得iOS行业水份大,arc内存管理也是后出的,问下mrc可以检验到真实的工作年限,虽然我记得大致是什么意思,但是早忘光了,毕竟3年过去了,现在根本没有用mrc的,接着问题都死盯在多年前的技术上,例如weak和assign区别,还顺便让我做了2道题,其中一道是关于多线程的,随便看了一眼,说了个错误结果,然后他让我说说为什么是这个结果时,我补救成功。。

第二道题是关于block和__block的,说实话,block我用的就少,但是基本的都懂,写也完全没问题。

int a = 10;
    <p>
        <span>dispatch_sync</span><span>(</span><span>dispatch_get_global_queue</span><span>(</span><span>DISPATCH_QUEUE_PRIORITY_DEFAULT</span><span>, </span><span>0</span><span>), ^{</span>
    </p>
<span style="color: rgb(204, 0, 0); line-height: normal; font-family: Verdana, sans-serif, 宋体; font-size: 14px; background-color: rgb(255, 255, 255);">公</span> NSLog(@"%d",a);
 
    });

block的问题,我还是能说的出来的,__block int a=10;,然后在代码块里就可以修改a的值,在nslog里就可以输出20,对方说,不对,说int是基本类型,如果在代码块修改会报警告。。。跟面试人人一样,我又沉默了,我又是半信半疑,面试结束,晚上睡前忍不住试了一次,果然又是面试官的错误。面试最后面试官问了我对公司有什么需要了解的吗,我问了下公司规模和主营业wu,当然主营业wu我事先就有了解,最后问了下工作时间,这家更离谱,早10,晚最高8点,最晚凌晨2点,一周6个工作日。

说实话,我这个人真不太会面试,很多接触过没用过的东西,人家问我会不会,我也不好意思说是好,有时候我挺自大,有时候却有挺谦虚,大场面我是很难抗的住,特别是一些大公司,自己越在意,反而越是难以在面试里完全发挥自己。

机器人 定位技术 C语言 iOS开发
分享到
取消 提交回答
全部回答(1)
  • 杨冬芳
    2019-07-17 19:46:36

    BTW 做前端用开源第三方很正常 谁去重复造轮子... 你可以聊聊你改过的第三方嘛 有的第三方控件有BUG的或者是需要做一些适配的 可能会好一些

    0 0

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题