版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
海归求职网海归求职网海归求职网()-专注留学生海归求职培训辅导服务【招聘海归硕士】让BAT的Offer不再难拿!随着各大公司春招的开始,很多小伙伴都行动起来了,我有幸能够加入百度并和大家分享自己的经验心得。由于我面试的都是比较大的公司,所以自然也是做了这方面的准备,因此这篇总结并不一定适合想去创业公司的同学。另外,由于经验本来就是主观性极强的东西,加之笔者水平有限,所以如果有不认可的地方,万望诸君呵呵一笑,抛之脑后。接下来,我就斗胆分享一下自己在准备和参加面试的过程中的收获、对面试的思考,以及一些可能对大家有用的建议。最后附赠一份大礼包,希望能帮助每位读者找到自己心仪的工作。一、什么是面试有些人可能会把面试看的太重,觉得面试过了就能进入大厂,技术和财富兼得……我倒是觉得,面试没有这么夸张(抱歉做了一回标题党),它其实是一次你和面试官互相了解的绝佳机会,借此机会你还可以对未来的工作有初步的了解。面试本身并不能完全评价一人个的实力。面试通过的人,也许只是恰好在面试时遇到了自己熟悉的问题,面试不通过,也有可能是面试官自身的问题,并非每个面试官都具备客观评价别人的能力。换句话说,面试没通过也许是面试官没有发现你的才华,面试通过了也并不代表你就能胜任工作,因为进入企业之后可不是每天负责回答面试题!所以从这一点来看,面试有点像相亲。你满意我,我满意你,王八对绿豆一一看上眼了,那就一拍即合,否则就分道扬镶。我本人非常希望能够多几轮面试(实际并不总是能做到),这样大家都有充足的时间互相了解,决定去留。网上某些面经中,介绍了一些“装逼”的方法,还有所谓的“面试技巧”,我是不太认可的。技巧需要有,这是为了让你更好的展示自己,而非坑蒙拐骗,无理取闹,无中生有。我更想展现一个真实的自己,如果面试官不认可,说明我们没有缘分,或者说自己的能力还不够。二、面试要准备什么有一位小伙伴面试阿里被拒后,面试官给出了这样的评价:”……计算机基础,以及编程基础能力上都有所欠缺……”。但这种笼统的回答并非是我们希望的答案,所谓的基础到底指的是什么?
海归求职网海归求职网()-专注留学生海归求职培训辅导服务海归求职网作为一名iOS开发者,我所理解的基础是操作系统、网络和算法这三大块,不同的开发方向可能有不同的侧重,但基础总的来说就是这些。我不推荐通过去网上看教程来学习这些基础知识,因为能用短短几篇文章讲明白的事情不叫基础,至少我没见过写得这么深入浅出的文章。不知道有多少读者和我一样有过这样的困扰:“我知道某些东西很重要,所以去百度查了资料,但是查到的文章质量很差,正确率没有保证”。这其实是正常的,优秀的文章一般都放在优秀的作者的个人博客上,这恰恰是搜索引擎的盲区,所以一般只能搜到CSDN、博客园这种地方的文章。自然就无法保证文章质量。出于这种考虑,我在文章最后的复习资料中,提供了用于学习相关基础知识的书籍,如果您恰好是iOS开发者,还可以阅读我收集的一些高质量文章,正确性比较有保证(我写的除外)。除了准备通用的基础知识以外,简历也是一个很重要的环节。一直很仰慕唐巧老师的猿题库,无奈简历太差,都没有收到面试邀请。后来好好改了简历以后,就没有这种问题了。关于简历的书写,推荐两篇文章:如何写面向互联网公司的求职简历(http:〃/RG9pNle)、程序猿简历模板(http:〃/RhVpjCX)。你也可以参考我的简历(http:〃/Rqyk4de),没有亮点,就当是抛砖引玉。最后,当然是准备好相关岗位的基础知识了。作为iOS开发者,虽然Swift已经发布了快两年,但是大公司转向Swift的动作还不明显,所以Objective-C几乎是必备项,Swift都不一定能算是加分项。iOS方面的知识也必不可少,虽然招聘信息上写着如果基础扎实,零iOS基础也可以,但是现实往往是比较残酷的。三、我的面试经历扯了这么多,终于进入正题了,分享一下我的面试经历。题目如下,破折线后面是简单的解决思路。1百度1)一面:约1.5小时首先是四个算法题:.不用临时变量怎么实现swap(a,b)——用加法或者异或都可以.二维有序数组查找数字一一剑指offer第3题.亿级日志中,查找登陆次数最多的十个用户一一(不确定对不对,我的思路是)先◊用哈希表保存登陆次数和ID,然后用红黑树保存最大的十个数。剑指offer第30题
海归求职网海归求职网()-专注留学生海归求职培训辅导服务海归求职网.简述排序算法一一,快排,partion函数的原理,堆排(不稳定),归并排序,基数排序。然后有一个智力题(http:〃/RqyFjse),没完整的答出来,好像影响不是很大。最后是iOS相关,面试官问的很开放,都是谈谈自己的理解:.说说你对OC中load方法和initialize方法的异同。一一主要说一下执行时间,各自用途,没实现子类的方法会不会调用父类的?.说说你对block的理解。一一三种block,栈上的自动复制到堆上,block的属性修饰符是copy,循环引用的原理和解决方案。.说说你对runtime的理解。一一主要是方法调用时如何查找缓存,如何找到方法,找不到方法时怎么转发,对象的内存布局。.说说你对MVC和MVVM的理解。——MVC的C太臃肿,可以和V合并,变成MVVM中的V,而VM用来将M转化成V能用的数据。.说说UITableView的调优。 一方面是通过instruments检查影响性能的地方,另一方面是估算高度并在runloop空闲时缓存。.谈谈你对ARC的理解。ARC是编译器完成的,依靠引用计数,谈谈几个属性修饰符的内存管理策略,什么情况下会内存泄露。一面的问题非常基础,主要是算法和Objective-C,因为准备比较充分,基本上答出来80%吧。大约一周后突然二面。2)二面:约0.5小时二面比较突然,显示简单的自我介绍,然后问了三个问题:.野指针是什么,iOS开发中什么情况下会有野指针?一一野指针是不为nil,但是指向已经被释放的内存的指针,不知道什么时候会有,如果有知道的读者还望提醒。.介绍block。一一(接第一问)我让面试官提示我一下什么时候会有野指针,他说用block时,我表示还是不知道,只知道block会有循环引用。于是就扯回了一面的问题。.说说你是怎么优化UITableView的。一一还是一面的问题。虽然通过了,但是几乎又问了一遍一面的问题让我感觉对方不太认真。3)三面:北京0nsite,约2.5小时首先是给一个小时,手写算法两个算法题。接下来问了TCP握手相关的。最后问了OC的一些细节问题。2网易
海归求职网海归求职网()-专注留学生海归求职培训辅导服务海归求职网1)笔试主要是计算机方面的大杂烩,涉及操作系统,网络,移动开发,算法等。难度不大,目测是为了淘汰浑水摸鱼的人,就不列出题目了,算法有三题,直接在线写(木有IDE表示很忧伤):.很长一道题,读了很久才读懂,目测是DFS,但是最后没时间了,写了个思路。.把""这样的字符串改成"com/baidu/zhidao/www"。 老题目了,剑指offer的,两次逆序排列即可。.求数组中和为某个值的所有子数组,比如数组是[5,5,10,2,3]一共有四个子数组的和是15,比如[5,10],[5,10],[10,2,3],[5,5,2,3]。这个就是简单的递归了,分两种情况,当前位置的数字在子数组中,以及不在子数组中。)一面全部是iOS题,可能是觉得算法已经面过了:.介绍block。一一我提到栈上的block在ARC下会自动复制到堆上,面试官问我从iOS4还是5开始支持这一特性,表示不知道,我又不是学OC历史的,后来想想可能是公司内部老项目有这个坑。.ARC会对代码做什么优化? 比如NSString*s2=s1;s2=nil这样的语句,可能就不会有retain和release方法了。.介绍一下MVVM和RAC。一一可能是我简历的某个角落写了用过RAC,被挖出来了,大概谈了一下,结果面试官问我数据的双向绑定怎么做,bind函数了解过么,果断说已经忘了。.介绍自己用过哪些开源库。 Masonry和SnapKit,AFNetWorking,MKNetworkKit,Alamofire,Mantle,SDWebImage.如果让你写,你能实现么?一一当然不能,不然还要实习?.读过某个库的源码么?一一扯了一点SDWebImage,后来被告知这个库用了runloop来保证滑动是加载数据的流畅性,自己看了源码后表示没有发现,唯一用到runloop地方是保证后台线程一直跑,也有可能是我理解错了,如果错误欢迎指正。.SDWebImage下载了图片后为什么要解码?一一当时蒙住了,面试官很nice的解释了一下,说是要把png文件建立一个什么内存映射,目前还不太懂,有空研究一下。本来以为面的这么差肯定是挂了,没想到还是过了一面。过了不到一个小时,HR电话打过来,约了两天后二面。
海归求职网海归求职网()-专注留学生海归求职培训辅导服务海归求职网3)二面纯数学和算法:.下面这段代码的输出结果是:intmain(){inta[5]={1,2,3,4,5};int*ptr=(int*)(&a+1);printf("%d,%d",*(a+1),*(ptr-1));)答案是2和5。a是指向数组开头元素的指针,a+1就是指向下一个元素的指针,所以星号求值以后是2。&a相当于是数组的指针,&a+1是数组后面一个数组的指针,然后转换成1玳*类型是5这个数字后面的一个数字的指针。再减一就是指向5的指针,所以星号求值以后是5。.某个地方天气有如下规律:如果第一天和第二天都不下雨,则第三天下雨的概率为30%;如果第一天和第二天中有任意一天下雨,则第三天下雨的概率为60%。问如果周一周二都没下雨,那么周四下雨的概率为_。简单的概率题,答案是:30%*60%+70%*30%=39%. 某痴迷扑克的小团体喜欢用23456789TJQKA来计数,A后面是22,23,...,2A,32,...,AA,222,...依次类推。请用C/C++或Java写个程序,将用字符串表示这种计数法转换成字符串表示的10进制整数。其中,该计数法的2就对应于十进制的2,之后依次递增。C/C++函数接口:charpokToDec(char)我的解决思路是进制转换,类似于16进制转换10进制这种,最后再把数字转成char*类型。然后好像没结果了,可能是编程实现太渣了?四、其他我知道的面试题1阿里一面:1)MVC具有什么样的优势,各个模块之间怎么通信,比如点击Button后怎么通知Model?2)两个无限长度链表(也就是可能有环)判断有没有交点3)UITableView的相关优化4)KVO、Notification、delegate各自的优缺点,效率还有使用场景5)如何手动通知KVO
海归求职网海归求职网()-专注留学生海归求职培训辅导服务海归求职网Objective-C中的copy方法runtime中,SEL和IMP的区别autoreleasepool的使用场景和原理RunLoop的实现原理和数据结构,什么时候会用到block为什么会有循环引用使用GCD如何实现这个需求:A、B、C三个任务并发,完成后执行任务D。12)NSOperation和GCD的区别13)CoreData的使用,如何处理多线程问题14)如何设计图片缓存?15)有没有自己设计过网络控件?2阿里二面:1)怎么判断某个cell是否显示在屏幕上2)进程和线程的区别3)TCP与UDP区别4)TCP流量控制5)数组和链表的区别6)UIView生命周期7)如果页面A跳转到页面B,A的viewDidDisappear方法和B的viewDidAppear方法哪个先调用?8)block循环引用问题9)ARC的本质10)RunLoop的基本概念,它是怎么休眠的?11)Autoreleasepool什么时候释放,在什么场景下使用?12)如何找到字符串中第一个不重复的字符13)哈希表如何处理冲突五、面试收获1算法题怎么答面试官可能会问到你闻所未闻的算法,这时候你不应该自己瞎想,而是先和面试官把问题讨论清楚。要知道,通过沟通弄明白复杂的问题也是一种能力,在和面试官交流的过程
海归求职国海归求职网()-专注留学生海归求职培训辅导服务中,不仅仅可以搞清楚题目真正的意思是什么,还可以展现自己良好的交流沟通能力。所以千万不要因为紧张或者害羞而浪费这次大好的机会。海归求职国有些题目似曾相识,但是暂时没有思路。这时候不妨告诉面试官,给我一些时间思考这个题。然后不要急,不要慌,就当他不存在,拿出纸和笔慢慢算(这充分说明了面试戴耳机的重要性)。你一定要坚定一个信念:“任何一道稍微有难度的算法题,除非做过,否则一定是需要时间想的"。所以,合理的安排思考时间吧。如果十几分钟都想不出来,可以直接放弃。有时候面试官会要求在线编程,相信我,他不会无聊到盯着你的代码看的,面试官一般都很忙,他也有自己的工作要完成,所以你就当是用自己的IDE就好。在线编程往往是一个中等难度的问题,所以不要自己吓唬自己。同时要注意代码格式的规范,适当的注释,提前编写好测试用例等,即使没有解决问题,也至少要把自己良好的编程习惯展示给面试官。2遇到不会的问题怎么处理这个问题有可能是面试官故意说得含糊不清,考察你的交流能力,也有可能是无意的,或者是你的理解方式出现了偏差。不管是以上哪种问题,你都应该先和面试官交流,直到你搞懂了面试官要问你什么,而不是按照自己的理解说了一堆无用的东西。举个例子,面试官可能会问了一道算法题:“如何判断两个无限长度的链表是否有交点?”。对于“无限长度”可以有不同的理解,如果真的是有无穷多个节点,那显然这个问题是无法解决的。但如果链表仅仅是有环,那么还是可以解决的。如果面试官的本意是链表有环,但你错误的理解成了无穷多个节点,那么必然会导致无法回答这个问题。而且这并非能力不足,而是属于交流沟通方面的失误,这也正是我想分享的“技巧”。还有一些问题,虽然你没有接触过,但是由于对类似的问题或者情况有过思考,所以可以合理假设。比如面试官问“ARC会对代码做什么样的优化?"。我们知道ARC的本质就是在合适的地方插入retain和release等方法,那么就应该从这个角度出发去思考问题。显然分别执行retain和release操作是没有必要的,那么就可以构造出相应的例子:NSString*s1=@"hello”;NSString*s2=s1;NSString*s2=nil;由于这种问题我们没有真正实践过,所以可以委婉的告诉面试官:“根据我的推理,可能会有……”。3遇到真的不会的问题怎么处理
海归求职网海归求职网()-专注留学生海归求职培训辅导服务海归求职网遇到不会的问题果断承认啊。如果是基本问题,比如问你哈希表怎么实现,你说不会,那么这次面试可能就悬了。如果是有一定难度的问题,那么你承认不会,也是一种明智之举,毕竟人无完人,一个问题不会并不能全盘否定一个人的能力。但是比较糟糕的一种情况是,面试者由于过分紧张,担心答不上面试官的问题会有严重后果,所以尝试着去敷衍面试官。比如:“我猜是xxx吧”,“我觉得可能是……”,更有甚者直接装逼:“这个我试过,不就是xxx么"。要知道,此时的你,由于紧张,在心态上已经输给了面试官,更何况面试官问你的问题一定是他有把握的,你觉得这时候你负隅顽抗会有几成胜算呢?所以,面试官问我“堆排序”的细节时,由于我当时忘了堆排序是怎么实现的,所以我直接告诉他我记不清了。另一个主动认输的例子是面试官问我RAC如何实现双向绑定,我告诉他这个是我当时学习的时候写过的demo,因为不常用,已经只记得一些简单的概念了。最后,还需要保持一个平稳的心态:“面试时尽力就好,遇到自己不会的问题也是正常情况”。如果面试者顺利答对了所有问题,难免会让面试官感到一丝尴尬,面试者也有可能会产生一些别的情绪。所以,我们要做的只是把自己的能力展示给面试官,做到不骄不躁。4准备杀手铜除了能够回答上面试官的问题以外,我建议自己准备一两个杀手铜级别的话题。所谓的杀手铜,至少具备以下几个特征:.你亲自动手试验过。所谓实践是检验真理的唯一标准,数据是不会说谎的。.问题有足够的深度。一面的面试官可能是你的直接上司,二面一般就是更改级别的。你的深度一定要远超其他面试者,让一面面试官觉得自己没有十足把握,让二面面试官觉得这是一个好话题,自己的手下都不一定能有这么独到深刻的见解。.你对这个问题理解的足够深入,无论是广度还是深度都达到一定水平。以iOS中的UITableView的调优为例,我自认为对它有一定的理解,同为iOS开发者的读者可以阅读这篇文章:UIKit性能调优实战讲解(http:〃/RG8jWlr),同时我还仔细研究了sunnyxx大神的优化UITableViewCell高度计算的那些事(/R2wPyjY)。这一类的话题通常需要仔细研究官方文档,iOS开发者还可以观看WWDC视频,然后花上充足的时间去总结。比如我写iOS自定义转场动画实战讲解(/RG8j8PW)这篇文章就花了至少三天时间,包括大年初一一整天。
海归求职网海归求职网()-专注留学生海归求职培训辅导服务海归求职网由于此类话题数量不多,所以准备一个或数个即可,面试时可以有意识的将面试官引导到这些话题上去,从而充分的展示自己。5心态通常情况下,面试结果都会在1-3天内知道。有的面试官会当场告诉你通过了,有的公司面试结束后几个小时就能出结果。但有些时候,由于某些原因(我也不清楚。。。。可能是比较忙?),你迟迟无法获知面试结果。这时候你可以选择耐心等待,获知直接给HRor内推者发送邮件。一般来说面试结束后三天还没收到通知,你可以发送邮件询问或者再等等。六、复习资料对于读到这一段的读者,为了感谢你耐心的听我废话了这么久,送上一波精心整理的干货和资料。不敢说完全没有错,但是应该比自己去杳要靠谱得多。主要涉及算法、网络、操作系统、Objective-C和iOS五个方面。如果你不是iOS开发者,相信前三部分的资料也或多或少能够帮上你。1算法这一部分的内容主要分为以下几个部分:字符串、数组与查找、链表、树以及其他基础问题。总的来说,算法问题可以分为以下三类:.基础问题:即使是新手,一眼看过去就有思路,只是实现的时候需要注意细节。.普通问题:这些问题通常属于以上分类中的某一类,需要面试者掌握一些常见的思路,比如递归、动态规划、BFS/DFS、双指针、二分搜索等。或者是直接考察数据结构的使用,如:哈希、栈和队列、链表等,如果具备了这些基础知识,此类题目通常能够比较快速的解决。.进阶问题:这些题的解题思路和普通问题相似,但是需要你事先有对应的知识积累,否则难以直接看出问题的本质。.疑难杂题:这类问题比较奇怪,解决它以后并不能给别的题目太多帮助,如果时间紧张可以暂时放弃。一般来说,一类问题难度不大,面试前简单复习一下,面试时小心仔细,全面思考即可。二三类问题是面试重点,需要提前准备。第四类问题通常出现较少,即使不会做,对最终评价的负面影响也不会有前三类那么大。
海归求职网海归求职网()-专注留学生海归求职培训辅导服务海归求职网如果时间充裕,我建议阅读《剑指Offer》这本书并配合Leetcode(http:〃/RwgFqxq) 来巩固知识,在我的面试过程中,出现很多书上的原题或者变体,我自认为没有因为算法而影响任何一次面试的成绩。如果时间紧张,你也可以只完成我列出的一些经典题目,在“【】”中标记了我对此题类型的分类,如果加星号表示此题在实际面试中出现过。PS:最近有小伙伴被问到了哈希表的实现。这可以理解为算法,也可以归类为计算机基础知识。总的来说你至少需要明白哈希值的特点和两种解决冲突的方式:拉链式和开放寻址。2字符串1)【3】最长回文子串(/RwBJcCX)2)【3】最长无重复子串(/RwgNNn6)3)【1*】字符串转数字(/RAtmVFZ)4)【4】KMP算法5)【2】字符串全排列(/zOibPAY)6)【2*】翻转字符串(/RwDVAz5)3动态规划1)【2】背包问题(/RqU7xXP)2)【3】连续子数组的最大和(/RwgQ4Sm)3)【4】实现简单的正则表达式匹配(/RAQLo9b)4数组1)【3】求两个等长、有序数组的中位数(二分法)2)【4】求两个不等长、有序数组的中位数(/RwdVOZM)3)【3】旋转数组求最小值(/R2ynsPY)、【3】旋转数组求查找某个值是否存在(http:〃/RAimf3S)(二分法)4)【4*】每行从左到右,每列从上到下递增的二维数组中,判断某个数是否存在(剑指offer第3题)5)【3*】数组中出现次数超过一半的数字(/RqU7oE4)6)【3*】第k大的数(/R2qkAzT)(拓展:最大的k个数)7)【3*】有序数组中某个数字出现的次数(提示:利用二分搜索)5链表1)【2】反转链表(/RABWjXt)(使用递归和迭代两种解法,了解头插法)
海归求职网海归求职网()-专注留学生海归求职培训辅导服务海归求职网2)【3】删除链表的当前节点(http:〃/RL5H5hv)3)【3】删除倒数第k个节点(/RwgcUxg)4)【1】两个有序链表合并(/RAhwx2E)5)【4】复杂链表的复制(/RAps2Gr)6)【2*】判断链表是否有环(/RwB3P6a)7)【3*】两个链表的第一个公共节点(/RABJHFz)(提示:考虑链表有环的情况)8)【3】删除链表中重复节点(/RAtEa77)6树1)【3】根据中序和后序遍历结果重建二叉树(http:〃/RGanjkY)、【3】根据中序和前序遍历结果重建二叉树(/RGJb7kr)2)【2】翻转二叉树(/R2lrS6V)3)【2】从上往下打印二叉树 (/RAnVPBD)(BFS的思想)4)【3】判断某个数组是不是二叉树的后序遍历结果(剑指offer第24题)5)【3】二叉树中和为某个值的路径(/RAyAtH3)6)【3*】二叉树中某个节点的下一个节点(强烈推荐准备一下,剑指offer第58题)7栈1)【2】用两个栈实现队列(/RL2wgD8)、【2】用两个队列实现栈(/R2TQ91b)2)【2】实现一个栈,可以用常数级时间找出栈中的最小值(/RAKqbsX)3)【3】判断栈的压栈、弹栈序列是否合法(剑指offer第22题)8排序了解以下排序的时间、空间复杂度,是否稳定,实现原理:1)归并排序(http:〃/RqU7ukw)、拓展:求数组中的逆序对个数2)快速排序(http:〃/RqU73lT) 重点:partion函数的实现3)堆排序(http:〃/RqU71aD)4)数组元素值域已知时,考虑基数排序(http:〃/aKUnhb) 和桶排序(http:〃/8FFP68W)9位运算
海归求职网海归求职网()-专注留学生海归求职培训辅导服务海归求职网1)【2】给一个十进制数字,求它的二进制表示中,有多少个1(/RwBw5TA)(n&=n-1)2)【3】给一个数组,所有数字都出现了偶数次,只有一个出现了一次,找出这个数(/Rwko145)3)【4】给一个数组,所有数字都出现了三次,只有一个出现了一次,找出这个数(/RAVjc3n)4)【3】给一个数组,所有数组都出现了偶数次,只有两个数字出现了一次,找出这两个数(/RLdStBS)10网络层根据不同的面试岗位,侧重点略有不同。对iOS和Android开发者来说,HTTP考的略少,以TCP和UDP为主。其实UDP基本上只会考察和TCP的区别。当然还有一些常见的基础问题,比如Cookie和Session的考察,POST和GET的考察,HTTPS的简单了解等。这些问题在我的博客中都有简单的总结。总结了一些资料,数字序号越大的资料表示篇幅更长,耗时更久,难度更大,讲解更细致。破折线后表示预计需要多久可以读完。1)【博客】我的六篇总结(http:〃/RqUzZSN) 不到一周2)【书】图解TCP/IP(http:〃/zHFHzSo) 半个月3)【书】TCP/IP详解(http:〃/RqUzwTi) 没读过,感觉至少需要一个月4)【书】TCP/IP协议簇(http:〃/RqUzAU1) 没读过,感觉至少需要一个月光读书是没有用的,一问到实际问题很容易懵逼,以下是我总结的一些问题:1)简介TCP和UDP区别,他们位于哪一层?2)路由器和交换机的工作原理大概是什么,他们分别用到什么协议,位于哪一层?3)描述TCP协议三次握手,四次释放的过程。4)TCP协议是如何进行流量控制,拥塞控制的?5)为什么建立连接时是三次握手,两次行不行?如果第三次握手失败了怎么处理6)关闭连接时,第四次握手失败怎么处理?7)你怎么理解分层和协议?8)HTTP请求中的GET和POST的区别,Session和Cookie的区别。
海归求职网海归求职网()-专注留学生海归求职培训辅导服务海归求职网9)谈谈你对HTTP1.1,2.0和HTTPS的理解。11操作系统与编译我被问到的操作系统问题很少,所以仅仅总结了一些自认为比较重要的问题。关于这一部分的知识,推荐阅读《程序员的自我修养》,如果时间有限,你可以阅读我弥程序员的自我修养读书笔记》(http:〃/RG8jNCL),并思考这些问题:1)源代码是怎么变成可执行文件的,每一步的作用是什么?(预编译,词法分析,语法分析,语义分析,中间语言生成目标代码生成,汇编,链接)2)应用层、API、运行库、系统调用、操作系统内核之间的关系是什么?3)虚拟内存空间是什么,为什么要有虚拟内存空间。4)静态链接和动态链接分别表示什么,大概是怎么实现的?5)可执行文件的结构如何?(分为哪些段)6)它是怎么装载进内存的,为什么要分段,分页,页错误是什么?7)进程的内存格局是怎样的?(堆、栈、全局/静态区,代码区,常量区)8)堆和栈的区别,函数调用和栈的关系9)进程和线程的区别10)异步和同步,串行,并发,并行的区别11)多并发任务,仅多线程能加快速度么(不能,会变慢,有线程切换的开销)12)多个线程之间可以共享那些数据13)进程之间如何通信14)介绍几种锁,他们的用途和区别关于多线程相关的,推荐阅读这篇文章的前面一小部分一一《iOS多线程编程一一GCD与NSOperation总结》(/RqUzNEO)关于操作系统和编译方面的文章,除了读原书和我的读书笔记外,还可以参考这篇文章——《修改一个数字破解Mac上的应用》(/RqUzpQR)OC首先两本必备的神书一定是要读完的。一本是讲OC的《EffectiveObjective-C2.0》,中文名叫:“编写高质量iOS与OSX代码的52个有效方法”。另一本书叫:《Objective-C高级编程》。前者讲解OC中各种细节,后者主要讲了ARC、Block和GCD。光是读书,思考不够,很容易在面试时被问懵逼,所以建议一遍尝试回答面试真题,一边阅读以下总结性的文章,重要性不分先后:
海归求职网海归求职网()-专注留学生海归求职培训辅导服务海归求职网1)检测内存泄露(http:〃/RqUzOQv)KVO与KVC原理(HYPERLI
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 颐养中心医生工作制度
- 食品安全检测工作制度
- 麻醉药物管理工作制度
- 濮阳市华龙区2025-2026学年第二学期三年级语文第八单元测试卷(部编版含答案)
- 河池市环江毛南族自治县2025-2026学年第二学期三年级语文第七单元测试卷(部编版含答案)
- 辽阳市辽阳县2025-2026学年第二学期二年级语文第八单元测试卷部编版含答案
- 碳排放交易员安全宣贯考核试卷含答案
- 海洋水文调查员安全教育水平考核试卷含答案
- 三氯氢硅、四氯化硅提纯工岗前基础培训考核试卷含答案
- 洗缩联合挡车工操作规程知识考核试卷含答案
- 2026陕西宝鸡市凤翔区事业单位招聘高层次人才30人备考题库含答案详解(考试直接用)
- 集群无人机自主编队研究课题申报书
- 江苏省九校2026届高三下学期3月联考 政治+答案
- 2026年西安医学院第一附属医院招聘(62人)笔试备考试题及答案解析
- 深度解析(2026)《SYT 7776-2024 石油天然气风险勘探目标评价规范》
- 2026年1月浙江省高考首考英语试卷真题完整版(含答案+听力)
- 外墙防水施工工艺方案
- 2026年陕西国防工业职业技术学院单招职业技能考试题库附答案解析
- 2025年新《治安管理处罚法》知识考试题库及答案
- 2026年安全员之C证(专职安全员)考试题库500道附参考答案【完整版】
- 《用事实说话-透明化沟通的8项原则》读书笔记
评论
0/150
提交评论