https://www.qingtingip.com/h_219584.html

地处北方一隅,今年很多公司春招没来现场,所以基本都是提前批的线上面试,整个三月都过的比较累,4月份的校招应该不参加了,还是当当咸鱼了,然后去实习了。

虽然之前一直比较抗拒背书和刷题,但是经历之后发现自己的基础是真的差,打好基础真的很有必要。

参加面试的公司(线上提前批+线下校招):时间顺序:3.1~4.10

1,今日头条:(三面挂)

2,作业帮(线下校招),offer get

3,瓜子网(线下校招),offer get

4,北京网易公开课,offer get

5,上海流利说,offer get

6,微信广州,offer get

7,阿里巴巴杭州(技术评级A),offer get

8,上海美团,offer get

。。。。。

1 问到的问题总结:

不能直接po原题,但是我总结了下背后的知识点:以下的知识点都最好挖的深一点,我这里只是点一下,但是每个点都可以挖很深,尽量都和runtime&runloop&性能优化穿起来说,结合自己遇到的坑说下)

  • 异步绘制&离屏幕渲染&CPU渲染和GPU渲染(说白了就是一些性能优化,这块比较看功底)
  • UIView 生命周期,UIViewController的生命周期
  • iOS中有哪些锁(原理+应用+优化)
  • 怎么看待审核被拒
  • runloop中将一个任务放到第二次runloop中执行:利用socket/port做一些事情(封装一个source)
  • UIKit框架架构图多看看
  • id和instencetype的区别
  • instrument的插件的使用(尽量都用一下)
  • IMP和SEL以及具体执行的操作
  • 在项目什么时候选择使用GCD,什么时候选择NSOperation?(根据项目规模以及接口的策略决定以及线程操作复杂程度)
  • 发现程序崩在一个objc_msgSend函数里面,这时候可以看的到当前正在调用哪个对象的哪个selector吗?(可以的,可以查到调用的堆栈信息。还可以将这个堆栈信息dump下来)
  • NSString类型的property常用copy的原因
  • 如何把异步线程转化成同步线程进行单元测试
  • autoreleasepool的使用场景和原理:基于runloop回答,并且提及autoreleasepage的实现(基于双向链表))
  • 对于Objective-C,你认为它最大的优点和最大的不足是什么?对于不足之处,现在有没有可用的方法绕过这些不足来实现需求。
  • app内存是怎么分析的:Xcode有两种方法(有区别:是否计入图片缓存)
  • 内存的使用和优化的注意事项
  • 怎样使用performSelector传入3个以上参数,其中一个为结构体。
  • nsstring对象的retainCount问题:(细抠下)
  • isMemberOfClass 和 isKindOfClass 联系与区别
  • 实现准确的定时器:
  • NSObject实现了哪些协议
  • 消息转发的机制(基于runtime讲全点)
  • 使用runtime Associate方法关联的对象,需要在主对象dealloc的时候释放么
  • 能否向编译后得到的类中增加实例变量?能否向运行时创建的类中添加实例变量
  • 手势相应和触摸事件传播的优先级以及处理等

1.2 计算机基础(计网+数据结构+编程基础+操作系统):

数据库没咋问就不po了。。。。

1.2.1计算机网络:

  • NSURLConnection 相比,NSURLsession 改进:
  • AFN用什么方式实现多线程
  • TCP是基于流式传输的,怎么设计协议,进行协议的解析?
  • 怎么实现上传/下载任务的断点续传
  • 发送网络请求,什么时候连IP、什么时候连域名
  • socket编程有了解吗?用在项目的哪里?
  • 客户端编程的时候,客户端send成功了,服务端没收到,有什么可能的原因
  • 只用TCP,如何设计这个聊天协议?
  • http和scoket通信的区别。
  • CFSocket使用有哪几个步骤。Core Foundation中提供了哪几种操作Socket的方法?
  • HTTPS具体过程,7次握手,以及如何防止中间人攻击的
  • 常见的状态码(应用层次)
  • URL重定向
  • TCP、UDP的特点以及具体应用
  • 滑动窗口的理解以及慢开始的措施

1.2.2 数据结构:

  • 哈希表的实现(抠的很细):当拉链长度超过阀值时,会有什么优化(参照JDK的处理思想)
  • 常见的链表算法(参照《剑指 offer》)
  • stack&queue算法(参照《剑指 offer》)

1.2.3 编程基础:

  • 浮点类型为什么不能精确
  • 几种容器的查询、插入效率
  • 可变容器的实现原理
  • C++如何实现一个不能被继承的class
  • C的编译过程
  • 动态链接和静态链接库的区别
  • C++和OC的区别
  • GC和ARC的比较(GC是runtime的)
  • 单例的实现(加锁和性能优化)
  • 内存的五大区域
  • 代码文件编译生成过程完成的事情

1.2.4 操作系统

  • 操作系统里线程切换是怎么实现的,怎么把线程调用函数的参数抛到另一个线程
  • 流水线的概念
  • 虚拟存储器的页面置换算法(编程实现)
  • 死锁的4个必要条件
  • 进程间通信的方式
  • 缓冲区概念
  • 死锁的预防算法

1.3 算法基础相关:

1.3.1图:注意算法的灵活运用

  • 最小生成树(prime算法、kruskal算法)
  • 最短路径算法(floyd、dijkstra)
  • 图中是否存在环
  • DFS&BFS的应用:迷宫问题比较多
  • 拓扑排序

1.3.2 树:基本都是2叉树的算法

这块参照《剑指 offer》+自行百度常见的二叉树算法

1.3.3 排序算法:

一定要深入理解三种排序的原理以及优化方法:比如大文件排序算法的优化,可利用快排和归并的特点,利用两种排序的特点,混合使用。

  • 堆排序
  • 快排:递归&非递归
  • 归并:递归&非递归
  • 内排序和外排序

1.3.4 DP:问的比较多,但是种类有限

1.3.4.1 LCS类:
  • 字符串最长公共子序列
  • 最长单调递增子序列:先sort 然后转化为LCS问题
1.3.4.2背包问题:
  • 0-1背包问题:
  • 数组分为两个sum和尽量相等的子数组:背包容量=sum/2,转化为0-1背包问题
  • 多背包问题:n个背包,求最大和
  • 完全背包问题:
  • 硬币组合问题:
1.3.4.4所有组合数问题
  • 1分2分5分的硬币三种,组合成1角,共有多少种组合?
  • 一个人上台阶可以一次上1个,2个,或者3个,问这个人上n层的台阶,总共有几种走法
1.3.4.5最小路径和问题:
  • 矩阵的最小路径和
  • 三角形的最小路径和

1.4编程思想&设计模式等:

  • 编程思想参照《iOS编程之道》
  • 设计模式主要是MVC&MVVM&MVCS的理解
  • 组件化需要了解下
  • 解耦的常用方法
  • 设计模块的设计思路:

    1,操作队列如何封装GCD,达到设置最大并发数(信号量实现) 2,NSNumber的设计(类簇的设计思想) 3,宽窄接口的设计等

2 推荐书籍:

  • 剑指offer(3编,对应牛客网的上的题全部刷完);
  • 面试宝典(C++版)一遍
  • 操作系统大概看一遍;
  • 数据结构一遍,主要是hash那片,平时不太关注的到的地方,懂一些原理。
  • 计算机网络【HTTP/HTTPS、tcp、udp、tcp/ip协议簇】大致是这些了
  • 数据库:
  • leetcode刷题,easy全部刷完+部分中等题或者牛客网刷题均可

以下几本书,多看几遍,看一遍并不能很好的理解(可能是因为我比较菜):

  • Objective-C高级编程(多线程与内存管理);
  • Effective Objective-C 2.0;
  • iOS编程之道
  • 精通Objective-C

掘金技术征文链接

转载于:https://www.cnblogs.com/tufei7/p/11014213.html

转载 一个渣硕iOS春招总结 | 掘金技术征文相关推荐

  1. 从春招到秋招,我的曲折网易路 | 掘金技术征文

    其实下面是我春招参加网易时的面经.我的经历有点曲折,听我慢慢道来:我春招的时候参加了网易的实习生招聘,通过了笔试然后参加现场面试,结果挂在了二面:后来由于一些机缘巧合,我又进入了猪厂实习.秋招的时候没 ...

  2. 2018春招前端面试: 闯关记(精排精校) | 掘金技术征文

    前言 年末研发组解散失业, 选择回去学车了,也顺利拿到了驾照,最近回归大深圳,开始踏上漫漫的找工作之路. 拉勾上吊一百年不匹配, BOSS直聘日夜没反应. 题目范围涵盖我最近遇到的笔试题和面谈的(CS ...

  3. webrtc+canvas+socket.io从零实现一个你画我猜 | 掘金技术征文

    开场白 最近键盘坏了,刚好看到掘金有声网的技术征文,想整个键盘.于是就开始从零开始学习webrtc, 一开始看文档就是个素质三连.这么难啊,这咋整啊,这谁顶的住啊.于是就开始全网找资料,很幸运的在掘金 ...

  4. 【面试招聘】双非渣硕的秋招路

    NewBeeNLP原创出品 作者 | 带带大兄弟 写在前面 双非渣硕,0实习,3篇水文,三个给老板当打工仔的nlp横向项目,八月份开始准备秋招,纠结开发还是算法,开发的话菜而自知,算法也是菜而自知,最 ...

  5. 我的2019秋招记忆(完整版) | 掘金技术征文

    本文主要包括三部分内容,这三部分内容也是我在三个时期完成的. 第一部分是我在参加2018春招时所写,主要记录了我在研究生期间学习Java后端的心路历程. 第二部分内容是我参加2019秋季招聘过程中所作 ...

  6. 一个前端初学者的2018年终总结 | 掘金年度征文

    前言 "本文是一篇个人年终总结",这样听起来会不会高大上一点呢? 如果您正好浏览到这篇总结,可否邀请您认真读完此文.无需您的点赞,但是若能留下您 宝贵的建议,是再好不过了. 写这篇 ...

  7. 一个半路出家的前端工程师的2018 | 掘金年度征文

    自我介绍 国际惯例先自我介绍.我叫煤球,毕业于西安北雷村男子技术学院,当时在学校的时候也是浑浑噩噩的过来了,2015年毕业之后在一个国企工作,一直从事方案策划类的工作,由于是在不喜欢这种文案类的工作, ...

  8. 双非渣硕的秋招之路总结(已拿抖音研发岗SP)

    前言 最近应邀在牛客网写 C++ 求职专栏,又把以前的秋招总结补充了很多东西,现在想想还是发出来,希望能够帮助更多的新手小伙伴们. 个人情况简介 楼主本硕均读于双非院校(普通二本学校).本硕都是计算机 ...

  9. 【2023春招】美团技术岗笔试10min+AK

    随手投递了前端&移动端,笔试2道算法+选择+行测题(为什么笔试会有行测题?) 目录 T1-火车栈结构 题意 输入描述 输出描述 样例 AC_Code T2-春游

最新文章

  1. Jupyter Notebook修改默认工作路径
  2. mysql 编码分层_【平台开发】— 5.后端:代码分层
  3. 基于Zabbix IPMI监控服务器硬件状况
  4. Hibernate的数据删除,更改
  5. java枚举类中字段有没有必要加final____枚举类字段 Field ‘xxx‘ may be ‘final‘
  6. linux系统月初月末,Linux last显示系统开机以来获是从每月初登入者的讯息命令详解...
  7. 蓝懿iOS培训日志22 图册
  8. python 读取网页并分词
  9. C中define的#和##
  10. 计算机软件水平考试中级题目,计算机软考中级考试试题及答案
  11. 什么是网络处理器?网络处理器有哪些应用场景?
  12. 基于SSM的毕业论文管理系统
  13. python基础练习题:重新排序【难度:1级】--景越Python编程实例训练营,不同难度Python习题,适合自学Python的新手进阶
  14. 买腾讯云服务器怎么选择
  15. 年轻时代,噢,年轻时代
  16. 8.Spring全家桶总结
  17. GoLang—使用net/http构建Web服务(文件数据存储)(上)
  18. c语言确定原点建立坐标系,在GDI+中如何实现以左下角为原点的笛卡尔坐标系
  19. 学习IT技术好处有哪些
  20. 浙江大学计算机考研学硕,真够“卷”的!浙江大学,计算机专业2021考研复试线399分?...

热门文章

  1. 2021年10大人工智能趋势
  2. 人工智能的人文主义,如何让AI更有爱
  3. 万字长文总结机器学习的模型评估与调参
  4. GAN是一种特殊的损失函数?
  5. 谷歌迂回入华:Waymo无人车抢先进驻上海!
  6. 群体决策是如何误入歧途的
  7. “传统”遥感遇上AI,会产生怎样的效果?
  8. Curr Biol:间隔学习可巩固记忆的奥秘
  9. 天价!一款芯片从设计到流片需要45亿!3纳米芯片研发成本曝光
  10. 大数据是怎么知道你去过新发地的?