python2.7和3.7的区别_精选长文21届秋招7面字节iOSer小白菜终于上岸
点击上方蓝字关注,获取更多求职咨询大家好,我是礼包君~今天给大家分享一篇IOS开发分享帖,希望对大家有所帮助。▼▼▼一我的背景1.北邮本科+专硕,专业是通信工程+电子通信工程;2.无实习经历,实验室项目不相关;3.本科学过C++,玩过一点iOS开发;4.算法基础薄弱;5.投递的都是iOS移动客户端开发。简述一下实习准备的过程,实习面经计划另写一...
大家好,我是礼包君~
今天给大家分享一篇IOS开发分享帖,希望对大家有所帮助。
▼▼▼
一
我的背景
1.北邮本科+专硕,专业是通信工程+电子通信工程;
2.无实习经历,实验室项目不相关;
3.本科学过C++,玩过一点iOS开发;
4.算法基础薄弱;
5.投递的都是iOS移动客户端开发。
简述一下实习准备的过程,实习面经计划另写一篇贴以作记录,也方便大家按照阶段参考。
2020.2.10 - 2.20
这段时间把C++过了一遍,b站上找的讲课视频;
2020.2.20 - 3.13
在leetcode中开始了《剑指offer》第一题,把主要的题都写(抄)了一遍,大概四五十道的样子,比较花哨的题就没写了,基本上每道题写了自己的题解
2020.3.3 开始
整理牛客上的C++面试宝典,然后还有github上搜的知识点汇总,比如CSNotes 、Skill-Tree。
git上有很多优质的知识点整理,我复习的主要是操作系统和计网,设计模式和数据库都抛了
2020.3.15 开始投递实习
第一个面试是字节跳动,安排在3.31。
2020.3.31 - 4.14
连续面试,字节、腾讯、小米、蘑菇街等。
最后拿到了小米iOS的实习,但是后来北京疫情反复,又不能远程,就干脆投奔秋招了。在如今看来是一个相当后悔的决定。
实习一定要去! 实习转正 = 多一次秋招机会,而且秋招什么神仙打架难度,实习转正真的容易多了。
以上是找实习的总体时间线过程,详细内容和感受以后再展开~
二
秋招准备
实验室的工作持续到07.15才完全放人,但是在7月初就开始着手准备了。
07.07 - 07.15(项目)
找了网上的课程做个简单项目,但是iOS真的不好找。时间都比较久远。最后做了个简单的新闻类iOS APP项目。
总结:这部分的时间显然花的太少了,面试的展开基本从项目开始,上来就是问项目有什么难点?
其实不一定项目要全部完成,面面俱到。可以在一定完成度的基础上,专注于研究一两个点,从优化的角度做一些改善。
在碰壁的过程中才会总结出自己的东西,这样面试有话说,过程真实,只跟着课程走,会缺少那种困扰好几天尝试很多办法才把问题解决的经历。
而且面试问你难点,不是真要有什么技术突破,体现你研究问题解决问题的思维过程比较重要。
07.06 ~ 08.13(刷题)
由于找实习期间笔试感觉很多倒在了动态规划上,所以七月份有大约20天在集中攻克动态规划专题。
然后按照专题来,链表专题,树专题等。最后leetcode大概120道左右,通过的提交次数是230左右(有一些重复刷的题)。
总结:刷题要求看个人情况,算法后端通过算题刷人很严重。但是客户端来说,现在看来,当时刷的那么多动态规划基本没用上过。
客户端面试基本不会问那么难,而笔试遇到的动态规划又不是我能在两个小时内写出来的。所以就有点鸡肋,当然动态规划本身还是很好玩的,以后能用到也不一定。
面试最多的还是《剑指offer》,leetcode上的hot 100中的树、链表、字符串和数组,外加排序,都是基础中的基础。
08.15 - 08.25(计网和操作系统深入理解)
总结:梳理完知识点后,多看面经。面经里会出现一些更深入和细节的问法,多看看,面试的时候才能快速反应过来,不至于尬住。
08.15这几天花时间重新改了简历,开始投递秋招。投递公司按照自己的意愿列了个优先级,因为我想去南方,所以优先选择的是广东和上海的岗位。
总结:简历上措辞要慎重,要确保任何一个点,以及它横向纵向扩展的内容,你都是了然于胸的,不然写上去就是送命题。
08.04 - 08.11 (iOS的OC语言知识点复习)
新浪于海老师的一个课程梳理了一遍完整的。
8月底就返校了,开始宿舍里面试的日子了。
我秋招面试过的公司是:腾讯(一面挂)、字节(offer)、虎牙(一面挂)、京东(二面挂)、网易(一面挂)、shopee(一挂)、58同城(offer)和金山WPS(没面了)。
三
秋招面经汇总
这里主要讲字节的7次面试吧,其他公司的单独写好了,方便大家搜索公司名字的时候能查到吧。
08.02 - 字节飞书 一面
1.自我介绍,还问过是否了解swift语言。。。
2.问了UITableView使用时的感受?有什么优缺点?
3.代码的布局是用的代码还是什么?是否做过机型匹配相关的工作?
4.问了网络请求用的什么做的,我回答了session和AFN,然后顺势问了用过哪些第三方库。回答还用过SDwebimage。这里好像还问了做的项目是否是有后台的?
5.问了sdwebimage做了什么工作,和我们直接从网络上拉图片相比有什么不同?
6.然后是get和post的区别,还是幂等性和安全性的问题,这次针对的是安全性,问:我回答post会上传数据修改服务器资源,所以是不安全的,然后反问,难道get不能上传数据吗?
7.问http有哪些头部字段?
8.问了keep alive,keep alive怎么工作?
9.有没有做过断点续传的相关工作?
10.https的工作机制?
11.notification的post与响应会在哪个线程?大概是这么一个问题,这个正好之前被tx问了通知是否为线程安全的?然后回去查了一下。
12.具体问了,如果一个类被销毁了,然后给他发送通知还会响应吗?
13.然后开始C++大礼包
14.C++中的new与malloc有什么区别?
15.C++虚函数工作原理
16.构造函数析构函数是否可以为虚函数
17.重载与重写?
18.vector与list的区别,访问和插入的速度哪个快?为什么?
19.memcopy和strcopy有什么区别???
20.算法题,数组中超过一半的数字。不能用map和set这种可以直接排序的数据结构。剑指原题
一面比较基础,但是当时C++没来得及复习,好在算法题秒了,应该是三天内通知过了约下一面
09.04 - 字节飞书 二面
1.开篇自我介绍针对第三个项目,为什么要做这个项目,是怎么学习这个项目的?感觉是考察做技术的动机,和钻研的热情之类的,
2.三个项目中的难点,以及如何解决
3.h5网页播放是否有性能测试(项目里的)
4.C++ linux项目这个是如何做的,他的意思应该是问系统设计,但是我主要的是回答硬件设计。
5.自相关循环是怎么做?(通信里的)
6.第一个新闻的app,代码规模有多大?数据来源是什么?
7.有没有做过性能优化方面的工作,加载图片,多线程拉取。
8.多线程遇到什么问题?回答了死锁
9.多线程访问同一个资源的冲突问题,加锁,互斥锁信号量。
10.回归到基础问题了:
11.iOS系统分为哪些架构?
12.遇到过哪些crash的情况?
13.了解哪些设计模式?
14.delegate是如何实现的?这个是要怎么回答?我回答的委托机制如何实现,但是感觉他问的是,delegate这个代码逻辑上如何实现的。
15.沙盒机制了解吗?
16.swift了解吗?如果要你用swift,自己开发一个项目,开发周期为一周,你如何做?
17.算法题,链表环入口,用了双指针,分析了一下时间复杂和空间复杂度,问进一步有没有优化空间,回答不知道,面试官解释是希望每个问题都有自己的理解,如何去提升
18.最后补充问了,要设计一个内存池,如何设计?应该实现一些什么功能?
19.知道内存碎片是什么吗?
20.职业规划?
21.反问环节
09.14 - 字节飞书 三面
1.自我介绍;
2.有哪些View
3.用view的时候如何选择?
4.项目难点;
5.如何解决项目难点,怎么想出解决方案?
6.有没有实习?
7.死锁,死锁避免?
8.算法:最大连续子数组的和。
9.dp,优化空间,我用了原数组,然后不让用,结果改成其他变量的时候出了问题,没调试出来。。。。
三面感觉挂在了算法?09-16问了HR未通过,09-24二志愿捞。
09.29 - 字节抖音创作工具 一面
1.最近的这个新闻APP,你负责的是什么工作?
2.有什么难点?这里应该有一个简洁版的说法
3.有没有用第三方框架?图片缓存?
4.NSCache有什么特点?
5.NSCache和字典有什么区别?
6.多线程,访问会有什么问题;
7.信号量和互斥锁
8.互斥锁的特点以及和信号量的区别
9.属性的多读单写
10.然后getter方法中sync的话,不是同步吗,怎么多读?然后说现在往广度扩展一下,实际上就是深度不挖了的意思。
11.死锁是什么?条件?避免?
12.举一个OC中死锁的例子,或者写一段代码?这里我举例例子是dipatch_sync main queue
13.内存映射?mmap是个什么函数?
14.计算机是怎么存储0.1这个数的?
15.怎么理解TCP的连接 ,可靠和字节流
16.拥塞控制
17.什么时候进入Close Wait状态?
18.c++中vector 和 list 有什么区别
19.map和unoder _map实现原理有什么区别?为什么有了map还要由一个unoder map?
20.快排的复杂度,简述,然后是否稳定?
21.算法题,池塘面积,输入输出debug遇到了一点点问题
09.30 - 字节抖音创作工具 二面
下午三点
无自我介绍,直接开怼
1.先评价之前的面试有哪些表现不足?
2.我说广度和深度上都有不足,然后让我举例。
我说浮点数这个,他说这是基础。
4.tableview的优化有总结吗?在性能和内存上
5.内存复用,背后的数据结构,设计原则中一般会设计一个对象池,这个是怎么做?
6.cell高度动态计算
7.KVO的原理
8.C++ 11 了解吗还是停留在03左右,
9.值引用,引用和指针的区别?
10.如果一个类存在父类,基类的虚构函数要用virtual修饰为什么?这里我回答时举例了,如果子类具有父类没有的一些成员变量,需要调用子类的析构函数去释放空间
11.如果子类没有额外的成员变量,如果子类是个空实现,没有变量没有方法,会有问题吗?
12.声明为虚函数有什么变化?多了虚表指针和虚函数表
13.虚表生成和地址引用发生在什么时期?
14.OC里面怎么解决多态问题?
15.先问了多态的定义是什么?
16.分类为什么可以用来做多继承?怎么实现?
17.菱形继承问题怎么解决?什么是菱形继承?
18.OC内存管理了解?引用计数的原理是什么?(OC有更高级的GC,但是iOS上只考虑引用计数)
19.引用计数为什么会导致循环引用?
20.一般怎么解决循环引用?
21.weak怎么置nil?原理了解吗?
22.其他的高级内存管理,其他的GC了解吗
23.JAVA的GC机制了解吗?
24.深浅拷贝?
25.C++怎么做深拷贝?
26.OC深拷贝
27.对于string 的copy和array的copy 是一样的吗?面试官的意思是,copy实际上调用的是copywithZone,所以不同子类复写的实现应该是不一样的。
28.限定NSArray的copy
29.那引用一个NSArray 和copy 一个NSArray的区别在哪?
30.IOS怎么加载一个进程?
31.iOS的虚拟内存了解吗?不了解的话说一下普通的虚拟内存。
32.缺页中断和页置换算法
33.用户态和内核态切换发生在什么时候?切换时机?
34.智力题
1.random7 求 random5
2.3L 5L 杯子 4L 水
35.算法题:
给定一个char数组,使用字符+次数的方式进行压缩,次数为1时只保留字符。返回新的char数组
in:['a','a','b','b','c','c','c','d']
out:['a', '2', 'b', '2', 'c', '3', 'd']
问:如果某个字符超过10个怎么处理?
10.15 - 字节抖音创作工具三面
上午十一点,终面面试官不是做iOS的。。。
1.这次是一个简单的自我介绍;
2.项目难点
3.缓存大概的策略,什么时候使用缓存,缓存的什么周期
4.二级缓存是还没有实现吗?我应该说还没有实现完
5.如果实现这个二级缓存的话要考虑到哪些点呢?
6.APP的开发周期大概是多久?
7.代码量大概多少?评估过吗?
8.过程中有哪些收获呢?
9.项目中新闻视频的资源怎么获取的?
10.Json和XML有什么区别,优劣势?
11.Cell复用的原理
12.和MVC MVP MVVM?
13.了解过设计模式吗?
14.项目中有用到过观察者模式吗?
15.还有其他的设计模式吗?
16.工厂模式,描述一下?
17.依赖注入了解吗?
18.iOS学习过程?通过哪些途径去学习呢?
19.看过第三方库源码吗?
20.最近有在学什么吗?
21.接触iOS多长时间了?什么时候开始学?
22.git的命令了解吗?
23.git的机制,怎么实现代码的管理的?思想?
24.C++智能指针
25.网络里边HTTP状态码?
26.断点续传的概念?
27.输入网址的过程,DNS解析
28.数据库了解吗?查询语句之类的?
29.写个代码
反转单词,hello word变为word hello,空间复杂度O(1)
这次真的很可惜,隔了一个国庆假期都还是倒下了。最后算法题其实很简单,可是我太紧张了。
设计模式答的也不好。本来到这里打算放弃了,第二天HR告诉我没通过,但是另一个部门有意.
我想着还要煎熬三轮就想婉拒了,但是HR告诉我是另个部门的业务终面,然后我又打起精神刷了几天题,开始第七面。
10.21 - 字节抖音创作工具 终面
1.tableView和collectionView,如果有数据变更的时候,是这个数据源的reload还是有定向的更新?
2.开发的环境是linux的C++,c++的标准?
3.操作系统的文件系统?
4.还记得操作系统的哪些内容?
5.项目中多线程场景
6.对自己的评价?在这个软开的领域有什么擅长的地方?优势。我答了比较喜欢钻研原理。然后让举个例子
7.举个例子,我就说了之前研究事件响应链的时候,在进入到APP的响应链之前,操作系统怎么做的,IOKit 到SpringBoard,然后mach port的这个流程。
8.其他公司的offer情况?什么时候能来实习?
9.后面对自己的定位,想发展成为什么样的工程师?
10.觉得读研究对自己的最大的帮助是?
11.反问,工作时间安排之类的
12.面试官补充问:喜欢什么样的工作的团队氛围和节奏?沟通上的倾向。
13.哪里人?
11.03号HR谈了offer,如释重负,一瞬间有些恍惚,我真的熬过来了。
四
总结
还是按照时间线来总结一下吧?
对于将来要找工作的朋友们,有一个较为明确的职业规划,或者职业方向真的很重要
对于通信电气大类的伙伴们,无非就是
1.互联网(算法、后端、前端、客户端、测开);
通信类设备公司(华为、中兴、高通、OPPO、VIVO),职能种类更多大家可自查
2.国企、央企、事业单位等(不要小看这个选择,隐形福利很多很多,而且国企大牛同样很多,只是确实氛围和互联网不一样,考验人的自我驱动能力,但是轻松不少。能不能解决户口看具体公司)
3.公务员系列(不同地区有各自的公务员岗位校招分配政策,要求一般有:党员、成绩排名前30%,国奖得主等,满足其一即可,大家多去学校的就业指导中心了解,老师们知道很多信息)
4.其他,比如外企,我身边没有直接例子的我就不展开了
身边有提前想好要去互联网工作的同学,早早的在考研的时候就选择了偏向互联网的实验室,项目经历与工作岗位匹配,研一就开始刷题,最后不出意外轻轻松松拿到阿里的offer。
也有开始就想好去国企的,提前准备申论和行测的考试。
机会真的只留给有准备的人。而我的时间都花在偏向通信的项目,最后又不想去搞通信。
且通信的话,基本上只能去华为的无线通信,中兴的基带软开,OPPO的通信协议等岗位。
相对来说岗位少,待遇还是比互联网差点。而且身边充斥着去互联网的氛围,也算是被迫驱动,随波逐流吧。
一如我考研的时候一般,随大流考个通信原理。本科和研究生一直没有长远一点的职业目标和方向,时间投入很分散,最后找工作就比较被动。
如果你不知道想干什么,那更不应该每天混日子了
你应该去花时间了解自己适合什么,最好的方式就是去实习。
不知道自己是否适合互联网奋斗,那花几个月时间找个实习感受一下。
有不少同学就是互联网实习了之后被劝退,转头就去国企的。而且多看看公司的招聘网站,了解职位要求的技能,对自己哪些方面欠缺也能有个概念。
对于互联网秋招本身,总结一下踩过的坑和个人的心得,希望能改大家带来些许帮助。
1.互联网秋招开始的时间
往年都说金九银十,但是实不相瞒,我今年听到的最早的提前批,是06.05的VIVO研发招聘。
我当时都惊了。然后应该是7月份的字节提前批,8月初的腾讯提前批,至此秋招全面开启。
因此,大佬们都是金8银9的。当然,10月也是主要招聘时段,只是大厂少了些坑。
11月基本上接近尾声,开始全面开奖,比offer、毁offer、签三方等等。
所以秋招是一个比较漫长的持久战,首先复习要开始的早。而且对于有些在实习的同学来讲,这是最艰难的时候,可能论文+实习+准备秋招都堆在了一起,但是似乎大家都是这么过来的。
其次是抱好团,信息共享,面试问题集中讨论,一人面试等于多人都有收获,互相模拟面试,查漏补缺。
对了,牛客网上有个ai模拟面试,可以多试试,听听自己回答的录音,肯定会有收获的。
然后心态要平和,不要因为一时的面试表现而妄自菲薄,面试成长性也是一个重要的特质。
最后坚持就是胜利。
2.投递简历的顺序安排
我其实是想按照自己的意愿,将想去的公司分梯队投递,先面小公司练练手。
奈何大厂开始的早而且普遍效率高,最后先面试的一般都是大厂。
而像tx这样的基本就只有一次机会(大佬除外),所以还是要珍惜好每一次面试的机会,并且每次面试的表现都会被记录在案的哈。
3.关于内推
现在一般都是视频远程面试,牛客网上撕代码。我一般会录个音方便后续复盘。
自我介绍可以稍微简要一些,重在表现概括能力,稍微引导一下前面的几个问题
对自己的项目要熟悉,各种引申的知识点要覆盖到。
基础知识点就是背诵八股文了,不过也不能完全照着网上的背诵,理解过这个知识点然后用自己的话概括是最好的,回答的时候要有一些停顿。
但是真的要熟练,如果问了个基础题然后还支支吾吾想半天,真的挺减分(比如我,背的太差了)。
常见的算法题也要刷的熟练,最好是看到就有思路。不然,面试的时候写代码真的超级紧张,跟平时写题的水平差挺多。
这个就无他,唯手熟尔。不知道怎么开始的先在leetcode上多混迹一段日子,有很多大佬经常出现在高赞题解中,他们一般有自己的公众号,跟着学学套路也是不错的。
面试完马上复盘总结,你不知道下一次面试是不是就在明天。基本上面来面去问题都在哪些范围里,从自己的面试经历沉淀自己,提升来的最直接。
面试究竟集中在一段时间好,还是分散好。这个事情我觉得可以拿出来说一下
集中的好处在于,背过的知识不用每次都重新捡起来,还热乎着,坏处是没有太多时间复盘,上次不会的这次又不会,很亏。
分散的缺点就是上次背过的这次又要拿出来背一背。我之前面试的时候总喜欢把面试推迟,安排的错开,但是这样感觉并不好,每次复习的也不会问,反而丢了面试状态。
我个人觉得,还是准备的差不多就冲了,拖拖拉拉也不是个事
好像讲得够多了,先到这里收一收吧,希望大家都能拿到心仪的offer
——END——
扫码关注我们 实习、校招、内推 面试经验 职场心得 查看下方精选文章 你有在看吗↓更多推荐
所有评论(0)