2020-面试总结-iOS

2020年 对于所有人 相信都是个难忘的一年...  

笔者也没有逃过在这一年出去找工作的命运  先说一下自身的条件 (主攻iOS(OC和swift)方向,辅助java后台开发  js前端开发)

   1、普通的本科

   2、工作4年多

   3、工作经历   只有一家大厂经历

上面就是笔者的基本情况  下面直接说一下面试结果吧 (笔者从4月中旬开始到6月中旬结束) 历时大概两个月的时间吧

1、百度 -- 已拿到offer

2、字节跳动 -- 一面个人感觉还好 只是不知道为啥面试官不让过 搞不懂(估计笔者还是太菜 哈哈)

3、b站 -- 一面已过  个人原因 不继续面试了

4、哈啰 -- 已拿到offer

5、七猫 --  已拿到offer

6、喜马拉雅 -- 一面没过 

7、携程 -- 二面没过 因为没有做过SDK(估计只是个搪塞的理由)

8、3-4个小公司  就不说名字了 主要是找一下面试的感觉  一个没拿到 原因:个人感觉 他们也在一个全能的人 本人不是这总人

上面就是笔者这两个月的面试结果情况  发现自身还是有很多的不足 对某些技术栈理解还是不到位 以后还是要继续的学习 希望看到这边文章的小伙伴还是要从中能吸取一些经验  有助于各位小伙伴快速的找到自己理解的工作 对于笔者的这两个月的状态大概是就八个字可以概括吧:焦虑 反思 总结 学习  在面试过程当中笔者也是有段时间很焦虑 睡不着 吃不下去饭(不是夸张哈)但是笔者相信 只要小伙伴们坚持不懈 就一定是能找到属于你自己的那片天空的 好了下面我说一下关于iOS这块大概是问哪些东西吧

网络模块:

       1、http 的发展历史 以及https的相对于http的加密过程

       2、分别说一下tcp  和 udp  以及他们的区别和联系(网络文章不可信哦)

       3、http的超时默认从什么位置开始计算

       4、http使用udp还是tcp链接以及每次发送一个http请求 就一定建立tcp链接吗 为什么

       5、tcp三次握手链接 四次断开链接    问:tcp存在四次握手链接吗  以及tcp存在三次握手断开链接吗(笔者说一下答案哈:是都存在的)

      6、问为啥是出现四次握手(个人感觉和第5题一样)

      7、tcp建立了几个通道 ,分别是什么   发送端和接收端是同一个通道吗

算法模块(个人感觉直接刷题leetode就行了):

      1、如何判断一个链表是否是双向列表

      2、搜索旋转树相关的问题

      3、数组的排序问题

      4、给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。

      5、给你一个二叉树,请你返回其按层序遍历得到的节点值

      6、给定一个二叉树,找出其最大深度。

      7、两个栈 实现一个队列

      时间长有点忘记了  这块个人说一下 直接刷题就好了 ios这块的难度一般都在:简单 中等   目前还没有遇到过hard难度的

     

iOS模块(主要是OC):

     1、atomic 和 nonatomic的区别  atomic一定是安全的吗  为什么  举个场景

     2、category可以添加成员变量吗  为什么?  如果对应的结构体有这个ivarList的数组 可以添加成员变量吗 为什么 

     3、iOS的系统通知怎么实现的 接受线程和发送线程一定在同一个线程吗  为什么 举个例子

     4、GCD NSThread  NSOPeration 使用的场景和区别 以及NSoperation的几种状态分别是什么

     5、block的实现原理(这块问了很多 只要了解很透彻的话 这块不是问题)

     6、iOS的内存管理方式是什么  ARC和MRC有区别吗 为什么

     7、weak、strong 他们分别的实现原理 

     8、手写一个单利(采用宏定义),以及为什么采用【super alloc] init】

     9、对象的创见为什么要init  不要init可以吗 为什么  

     10、一个NSobject 对象本身占用多少个字节(如何计算的)  以及苹果为什么给对象都是16字节的倍数?  什么叫空间换时间

     11、NSAutoRealesepool 的实现原理 以及何时给对象发送relese消息

     12、app的性能优化--启动优化说一下

     13、NSRuntime  NSRunloop 联系 平时怎么使用   比如如何监听卡顿 和 如何让线程常驻

     14、image的加载做成  以及如何优化

     15、动态库和静态库区别和联系 平时怎么使用的 现在使用动态库的目的是什么  (动态库会增加启动时间) 再说一下这种库加载过程以及如何优化

     17、详细说一下事件的传递和响应过程 (注意:手势的有优先级问题还有同时如何阻断事件传递)

     18、什么叫离屏渲染(要说的越详细越好)

     19、kvo的实现原理 以及如何手动触发kvo 

     20、说一下以往项目中 最有成就感的项目 并详细介绍使用到的技术点,以及如何攻破技术难点的

     21、说一下写时复制

     22、swift的面向协议的理解

     23、swift中的可变数组 为啥用var来修饰

     24、说一下 无痕埋点以及如何实现

最后总结:

以上是目前两个月的全部的面试总结 答案这块 我就不细说了 毕竟有的题目笔者也是拿不准 如果有不明白的 可以私信笔者 咱们一起探讨 大家一起努力

最后再说一下 其实笔者在面试期间 心里的压力也是很大 经常失眠 毕竟现在出来找工作 我相信大家也是被逼无奈 不过我想只要大家好好努力 时光定不负你  

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值