2020年4到6月—7家公司面试总结(3家已拿offer)
2020年 对于所有人 相信都是个难忘的一年...
![](https://upload-images.jianshu.io/upload_images/22877992-1a4ff73d9ca89225.png?imageMogr2/auto-orient/strip|imageView2/2/w/900/format/webp)
笔者也没有逃过在这一年出去找工作的命运 先说一下自身的条件 (主攻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这块大概是问哪些东西吧
网络模块:
- http 的发展历史 以及https的相对于http的加密过程
- 分别说一下tcp 和 udp 以及他们的区别和联系(网络文章不可信哦)
- http的超时默认从什么位置开始计算
- http使用udp还是tcp链接以及每次发送一个http请求 就一定建立tcp链接吗 为什么
- tcp三次握手链接 四次断开链接 问:tcp存在四次握手链接吗 以及tcp存在三次握手断开链接吗(笔者说一下答案哈:是都存在的)
- 问为啥是出现四次握手(个人感觉和第5题一样)
- tcp建立了几个通道 ,分别是什么 发送端和接收端是同一个通道吗
算法模块(个人感觉直接刷题leetode就行了):
-
如何判断一个链表是否是双向列表
-
搜索旋转树相关的问题
-
数组的排序问题
4 . 给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。
5 . 给你一个二叉树,请你返回其按层序遍历得到的节点值
6 . 给定一个二叉树,找出其最大深度。
7 . 两个栈 实现一个队列
时间长有点忘记了 这块个人说一下 直接刷题就好了 ios这块的难度一般都在:简单 中等 目前还没有遇到过hard难度的
iOS模块(主要是OC):
-
atomic 和 nonatomic的区别 atomic一定是安全的吗 为什么 举个场景
-
category可以添加成员变量吗 为什么? 如果对应的结构体有这个ivarList的数组 可以添加成员变量吗 为什么
-
iOS的系统通知怎么实现的 接受线程和发送线程一定在同一个线程吗 为什么 举个例子
-
GCD NSThread NSOPeration 使用的场景和区别 以及NSoperation的几种状态分别是什么
-
block的实现原理(这块问了很多 只要了解很透彻的话 这块不是问题)
-
iOS的内存管理方式是什么 ARC和MRC有区别吗 为什么
-
weak、strong 他们分别的实现原理
-
手写一个单利(采用宏定义),以及为什么采用【super alloc] init】
-
对象的创见为什么要init 不要init可以吗 为什么
-
一个NSobject 对象本身占用多少个字节(如何计算的) 以及苹果为什么给对象都是16字节的倍数? 什么叫空间换时间
-
NSAutoRealesepool 的实现原理 以及何时给对象发送relese消息
-
app的性能优化--启动优化说一下
-
NSRuntime NSRunloop 联系 平时怎么使用 比如如何监听卡顿 和 如何让线程常驻
-
image的加载做成 以及如何优化
-
动态库和静态库区别和联系 平时怎么使用的 现在使用动态库的目的是什么 (动态库会增加启动时间) 再说一下这种库加载过程以及如何优化
-
详细说一下事件的传递和响应过程 (注意:手势的有优先级问题还有同时如何阻断事件传递)
-
什么叫离屏渲染(要说的越详细越好)
-
kvo的实现原理 以及如何手动触发kvo
-
说一下以往项目中 最有成就感的项目 并详细介绍使用到的技术点,以及如何攻破技术难点的
-
说一下写时复制
-
swift的面向协议的理解
-
swift中的可变数组 为啥用var来修饰
-
说一下 无痕埋点以及如何实现
最后总结:
以上是目前两个月的全部的面试总结 答案这块 我就不细说了 毕竟有的题目笔者也是拿不准 如果有不明白的 可以私信笔者 咱们一起探讨 大家一起努力
最后再说一下 其实笔者在面试期间 心里的压力也是很大 经常失眠 毕竟现在出来找工作 我相信大家也是被逼无奈 不过我想只要大家好好努力 时光定不负你
资料推荐
如果你正在跳槽或者正准备跳槽不妨动动小手,添加一下咱们的交流群1012951431来获取一份详细的大厂面试资料为你的跳槽多添一份保障。
![](https://upload-images.jianshu.io/upload_images/22877992-0bfc037cc50cae7d.png?imageMogr2/auto-orient/strip|imageView2/2/w/489/format/webp)