【移动应用开发技术】春招路上孤独的iOSer的心路历程(面经)_第1页
【移动应用开发技术】春招路上孤独的iOSer的心路历程(面经)_第2页
【移动应用开发技术】春招路上孤独的iOSer的心路历程(面经)_第3页
【移动应用开发技术】春招路上孤独的iOSer的心路历程(面经)_第4页
【移动应用开发技术】春招路上孤独的iOSer的心路历程(面经)_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

【移动应用开发技术】春招路上孤独的iOSer的心路历程(面经)

献给目前为数不多的春招路上孤独的iOSer:

背景:

双非渣一本,2017级大三计算机科班,算法:剑指offer68题刷了一遍,leetcode60题。网络、操作系统啥的跟着书本学习然后Google查了些资料,然后大学期间做过一些有关iOS开发的实践项目。

前言:

双非本科菜鸡的春招有些坎坷,还记得第一次面试(2019年12月12号),带有一丝丝紧张的感觉跟字节跳动的一面面试官聊了56分钟,当初没复习啥,某学长的建议早面早知道问题所在,一路聊下来,还算是基础问题都答出来了,后面问了一个LRU设计,由于没接触过LRU缓存算法,要我设计,就一路思考说了链表+map,时间复杂度没达到要求,那个时候也没想到用双向链表(太菜了QAQ).再给我一道股票算法题,不加思考的说了n方的思路,要我优化,想了几分钟代码也写出来了。没抱太大希望的给我过了。中间由于手机停机了(自己没发现),hr还加了我微信约二面(被感动!!),17号二面全程被虐(听说面试官是抖音那边转到这个部门的)。。幸好最后算法题也写出来了,也让过了。最后面hr面都过了。第一次面字节的体验非常好

。后面过了一个星期多offer审批。hr告诉我他们2020年计划希望招资历丰富的人。offer审批挂掉了。也算是很心痛啊。然后转到字节的data部门(听说是绝对核心部门),一二面3个小时下来(有点累),最后二面面试官给我了三个的算法题。我一个也没写出来(后面搜leetcode算法题都是hard难度)就这样第二次字节挂了。。然后带着遗憾过年了。。就开始刷算法题。开始准备春招了。流程:字节自我介绍进程和线程区别,进程间的通信、内存分区。内存堆和栈的区别、为什么堆上面效率高liunx上有没有写过进程通信的代码

之后发生了什么Https加密过程tcp三次握手swiftstruct和class区别swiftstatic与class关键字的区别逃逸闭包与普通闭包区别iOS多线程GCDasync与sync的区别iOS3张图片下载完了之后合并一张图设计一个缓存机制(底层数据结构是什么样子的)LRU股票算法题(要求0(N)时间)提问多线程代码之行情况读代码写结果nonatomic和atomic区别atamic线程安全如何实现的nonatomic一定是线程不安全的么swift数组切片是什么swiftextension的理解翻转链表讲讲对这个程序的测试用例最近公共父节点提问围绕简历上的获奖还有奖学金成绩方面问了些问题,还要一些实习时间问题。一面

1tableview重用机制滑动性能调优方法2圆角效率问题离屏渲染3calayer与uiview区别为什么这么设计4swift消息机制5多线程如何保证线程安全6mvvm与mvc的区别7你认为mvvm最大的好处8如何比较两个浮点类型为什么要这么做9进程和线程的区别为什么切换线程代价小10如何实现进程间的通信11信号量管道共享内存效率比较12设计模式你还了解哪些13详细讲一下观察者模式、适配器模式、桥接模式14hppts加密过程详细讲一下15抓包原理16如何验证加密过程的证书17同步异步串行并发区别18最低公共父结点二面自我介绍swift消息机制swift比oc快在哪里https加密过程证书验证如何进行tcp如何进行拥塞控制如何进行滑动窗口的大小变动的根据什么三道算法题,不太记得了。。一面75分钟自我介绍项目怼了45分钟app启动流程优化app包瘦身设计题:根据文字长短动态设置cell设计题:上面题目再加一个buttonbutton文字内容长短不一https加密过程客服端是怎么证书验证http用了哪些协议为什么8g大小的程序可以跑在4g内存上面汇编函数调用的参数怎么传的如何提高上传视频大成功率设计方案算法题:定义:给定a计算出a各个位数之和相加等于b。现在给定b求a二面45分钟自我介绍项目15分钟加载图片卡顿是为什么有哪些优化方案图片解码时机设计os的复制粘贴假如现在有一个可以需要在三维中写字并输出结果的课题怎么做这个课题你的思路算法题数字转汉字阿里自我介绍栈和堆的区别各种排序算法比较(冒泡、快速排序、归并排序、桶排序、计数排序)数组、链表、哈希表优缺点uiview与calayer的联系与区别为什么uiview可以响应事件tableview的重用机制以及与collectionview的区别cpu和gpu的区别离屏渲染mvvm与mvc项目亮点野指针处理内存管理深拷贝与浅拷贝如何进行类的深拷贝网易有道一面70分钟1.聊了下目前的情况以及经历2.事件传递与响应链3.runtime机制聊一下4.runloop的理解5.mvc与mvvm的理解6gcd与NSopraretion的优缺点7.tableview的理解重用以及调优8.异步加载图片原理9.平常调试怎么做的10.gpu与cpu离屏渲染11.网络请求库的封装12.内存管理解决循环引用又出什么问题13.循环引用出现的常见情况14.autoreleas谈谈15.timer为什么在子线程中不工作16.为什么学iOS2-25二面自我介绍实习多久、学习过哪些语言为什么选择iOS、学习iOS最大的困难。mvc和mvvm理解了解哪些数据结构散列表实现原理iOS内存管理方式了解哪些网络协议http传输层用的哪个协议,版本问题问了一些比较常规的问题蘑菇街自我介绍算法题:两个队列实现栈分类extension在oc与swift区别在什么时机加载(没答上来)oc与swift语言区别tableview做了哪些优化如何实现多个图片下载后合成一张图片除了gcdgroup之外其他方法信号量与锁的区别mvc和mvvm的区别为什么从swift开始学如何学习iOS的有什么要问的?(由于感觉不错问了下评价)1.评价2.为什么UI只能在主线程刷新?算法题:给定排序数组和一个值sum,找到两个值等于这个sum。自我介绍项目相关tableview优化app启动流程kvo实现机制第三方库Alaomofire的核心除了学习iOS还关注哪些技术提问:问了很多,都是聊天之类的。快手代码输出多少?如果用__block修饰i又会输出多少?为什么?1、使用递归,计算从1加到100的值2、使用递归,计算从n加到m的值(n<m)3、使用递归,计算从n,n+t,n+2t,n+mt的值(m>=1)实现一个简单的视频播放App,用户可以播放、暂停、或者拖动进度条,也可以在多个视频源之间进行切换。问题:如何实现这个视频播放功能,使得用户的操作能够尽早得到响应,且不会造成异常。问了很多问题,大概记得的就是:手写LRU、股票算法题MVVM与MVC的比较UItableView的性能调优Autolayout的原理GCD与NSoperationqueue比较kingsiher图像库的异步加载原理图像解码事件传递与响应阅读过哪些第三库源码分析一下由于过了四五天了二面有些忘记了。hr一些常规问题,然后这个hr小姐姐好像还懂点技术,就追着我的简历不放,要我复盘项目,还要讲下技术方面的点。虎牙三面+hr面都是电话面试,比较容易然后就忘记写记录了。估计是比较缺人叭,流程很顺利腾讯:上来三道算法题,然后问了些项目的事情,算法做得还阔以,后面晚上

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论