文章收藏

iOS面试题系列之常见算法

排序算法整理

字符串
【3】最长回文子串
【3】最长无重复子串
【1*】字符串转数字
【4】KMP 算法
【2】字符串全排列
【2*】翻转字符串

动态规划
【2】背包问题
【3】连续子数组的最大和
【4】实现简单的正则表达式匹配

数组
【3】求两个等长、有序数组的中位数(二分法)
【4】求两个不等长、有序数组的中位数
【3】旋转数组求最小值【3】旋转数组求查找某个值是否存在(二分法)
【4】每行从左到右,每列从上到下递增的二维数组中,判断某个数是否存在(剑指 offer 第 3 题)
【3*】数组中出现次数超过一半的数字
【3*】第 k 大的数(拓展:最大的 k 个数)
【3
】有序数组中某个数字出现的次数(提示:利用二分搜索)

链表
【2】反转链表(使用递归和迭代两种解法,了解头插法)
【3】删除链表的当前节点
【3】删除倒数第 k 个节点
【1】两个有序链表合并
【4】复杂链表的复制
【2*】判断链表是否有环
【3*】两个链表的第一个公共节点(提示:考虑链表有环的情况)
【3】删除链表中重复节点


【3】根据中序和后序遍历结果重建二叉树【3】根据中序和前序遍历结果重建二叉树
【2】翻转二叉树
【2】从上往下打印二叉树 (BFS 的思想)
【3】判断某个数组是不是二叉树的后序遍历结果 (剑指 offer 第 24 题)
【3】二叉树中和为某个值的路径
【3*】二叉树中某个节点的下一个节点 (强烈推荐准备一下,剑指 offer 第 58 题)


【2】用两个栈实现队列【2】用两个队列实现栈
【2】实现一个栈,可以用常数级时间找出栈中的最小值
【3】判断栈的压栈、弹栈序列是否合法(剑指offer 第 22 题)

排序
了解以下排序的时间、空间复杂度,是否稳定,实现原理
归并排序、拓展:求数组中的逆序对个数
快速排序 重点:partion
函数的实现
堆排序
数组元素值域已知时,考虑 基数排序桶排序

位运算
【2】给一个十进制数字,求它的二进制表示中,有多少个 1 (n &= n - 1)
【3】给一个数组,所有数字都出现了偶数次,只有一个出现了一次,找出这个数
【4】给一个数组,所有数字都出现了三次,只有一个出现了一次,找出这个数
【3】给一个数组,所有数组都出现了偶数次,只有两个数字出现了一次,找出这两个数

网络层
【博客】我的六篇总结————不到一周
【书】图解 TCP/IP————半个月
【书】TCP/IP 详解————没读过,感觉至少需要一个月
【书】TCP/IP 协议簇————没读过,感觉至少需要一个月

光读书是没有用的,一问到实际问题很容易懵逼,以下是我总结的一些问题:
简介 TCP 和 UDP 区别,他们位于哪一层?
路由器和交换机的工作原理大概是什么,他们分别用到什么协议,位于哪一层?
描述TCP 协议三次握手,四次释放的过程。
TCP 协议是如何进行流量控制,拥塞控制的?
为什么建立连接时是三次握手,两次行不行?如果第三次握手失败了怎么处理
关闭连接时,第四次握手失败怎么处理?
你怎么理解分层和协议?
HTTP 请求中的 GET 和 POST 的区别,Session 和 Cookie 的区别。
谈谈你对 HTTP 1.1,2.0 和 HTTPS 的理解。

OC
首先两本必备的神书一定是要读完的。一本是讲 OC 的《Effective Objective-C 2.0》,中文名叫:“编写高质量 iOS 与 OS X 代码的 52 个有效方法”。另一本书叫:《Objective-C 高级编程》。前者讲解 OC 中各种细节,后者主要讲了 ARC、Block 和 GCD。
光是读书,思考不够,很容易在面试时被问懵逼,所以建议一遍尝试回答面试真题,一边阅读以下总结性的文章,重要性不分先后:
检测内存泄露
KVO与KVC原理KVO、Notification、Delegate优缺点最推荐的官方文档
GCD 与 NSOperation
Runtime
block
atomic 线程安全@synchronized
对象的深浅复制
招聘一个靠谱的iOS
消息传递机制
深入理解Objective-C:Category

iOS 开发
RunLoop
Cell 图片异步加载优化
iOS 函数式编程的实现 && 响应式编程概念
内存恶鬼drawRect
UIKit 性能调优(主要是UITableView)
优化UITableViewCell高度计算的那些事
高性能图片架构与设计
轻量化视图控制器
UIView的生命周期
高效设置圆角
事件的传递和响应机制
ReactiveCocoa 和 MVVM 入门

iOS
Block没那么难1
Block没那么难2
Block没那么难3

以 iOS 中的UITableView
UIKit性能调优实战讲解
优化UITableViewCell高度计算的那些事

iOS自定义转场动画实战讲解

iOS多线程编程——GCD与NSOperation总结

UITableView优化技巧

【阿峥教你实现UITableView循环利用】

离屏渲染优化

AutoRelease

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,390评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,821评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,632评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,170评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,033评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,098评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,511评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,204评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,479评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,572评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,341评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,893评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,171评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,486评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,676评论 2 335

推荐阅读更多精彩内容