ChenYilong / ChenYilong/iOSInterviewQuestions

iTeaTime(技术清谈)【-001期】【代号:复仇者联盟】

Open
#117 0 comments 0 reactions 0 assignees View on GitHub
note wiki
Dominant language
Swift
Stars
9.5k
Forks
2.8k
PR merge metrics
No merged PRs in 30d

Description

# [iTeaTime(技术清谈)]( https://github.com/ChenYilong/iOSInterviewQuestions/issues/127)【-001期】【代号:复仇者联盟】

出题:微博@iOS程序犭袁

----------

![](http://ww4.sinaimg.cn/large/006tNc79ly1g4wvr2s23oj31sr0q242m.jpg)

----------









----------

![image](https://user-images.githubusercontent.com/2911921/57274231-2ef62280-70cd-11e9-97e9-2039bee6fab1.png)

从未被讨论过的问题,不公布答案。顺延到下一期。只要讨论过,答案不正确也会提供答案。

----------

* 1 若把《复仇者联盟》中的世界,看成一个大的代码工程,复仇者联盟的成员看成类/对象,那么请回答下列问题:

奇异博士在联盟中的角色,更像下面哪个?
A. PD
B. PM
C.PRD
D.git
E.other

【答案】D。可以开分支,回退提交。

----------

* 2 奇异博士在其独立电影中打败大boss(名字叫多玛姆/黑暗次元)的方法更类似于下面哪种?
- A. 递归
- B. do while 循环
- C. for 循环
- D. 遍历
- E. other

----------

【答案】B,do while 循环,当自己死亡时,复活自己,直到多玛姆接受谈判条件

* 3 复仇者联盟,因不满灭霸的break change版本,返回过去修改代码,但是美队他们发现能够看到过去的自己,甚至两个美队可以互打,但是却不能直接杀死小时候的灭霸,基于量子力学的理论,回到过去不能改变历史,最多只能形成平行宇宙,这种现象类似于编程中的哪个概念:
A.git branch -b
B.git rebase
C. git reset --soft HEAD~
d. git tag
E. git cherry-pic
F. Other

【答案】A,平行宇宙的概念就是开分支,继续开发。

----------

* 4 复仇者联盟中的成员,哪位自带copy方法?

自身有copy能力可以是:

- 钢铁侠,因为可以无限制造出钢铁侠装备
- 奇异博士,他可以变出无数分身。

----------

* 5 变身的浩克与本体博士之间的关系,更类似于下面哪个概念?

A. 封装
B. 继承
C. 多态
D. other

【答案】C。多态。本体与变身之间不共享记忆与意识。

----------

* 6 灭霸打响指后,蚁人为什么能成功躲过一劫?

A. 蚁人执行了git stash操作
B. 蚁人未提交
C. 蚁人执行了git check -b
D. 蚁人是静态库,无法修改其代码
E.other

【答案】A,B,蚁人被困在量子世界,灭霸的愿望没有覆盖量子世界,所以蚁人更类似于未提交,stash 暂存区也可以讲通。

----------

* 7 矮人给灭打造的手套,更类似于下面哪个概念:

A. 集合
B. array
C. map/dict
D. ViewController/Activity
E. other

【答案】可以是一个dict,每个宝石有对应的坑(key)。也可以是array。

可以从实际工程设计的角度看,如果矮人打造手套时,考虑把他设计为数组或者字典,最主要看什么?
因为宝石的形状是不一样的,所以有自己对应的坑位。

六个宝石要形成阵法,宝石是阵基,得放准,否则可能会爆炸

手套类,里面有响指方法,宝石既然是固定的,而且要有防伪校验,做成属性,比做成数组要方便多了吧。可以在setter里校验真伪。数组适合,元素数量未知。
并且手套就是为了收集几颗宝石打造的,当宝石集齐后,响指方法就可以执行,在响指方法内部校验宝石,不仅保证数量而且保证真实性。宝石是map更方便校验。

----------

* 8 美队架战斗机到达黑豹的国度-瓦坎达,完美降落在他们的战斗机机场,原理更类似于下面哪种?

A 适配器模式
B 协议
C 接口
D 继承
E 其他

【答案】B协议。只要飞机场,遵循相同的协议,接口相同即可使用。

----------

* 9 《权利的游戏》中红袍女向光之王发出火焰请求。她总共用了7次消息才成功建立对话。请问她最有可能用的是什么协议?TCP, UDP, 还是IP和ICMP?

TLS + HTTPS connect 的流程示意图:

![](http://ww1.sinaimg.cn/large/006tNc79ly1g3h3svjc2ij30i00fkmyp.jpg)

TCP协议:面向连接的传输层协议,能够处理在传输过程中的丢包、传输顺序混乱等异常情况,也能够有效利用带宽,缓解网络拥堵。 由于TCP协议为了保证传输的可靠,每次连接时,需要经过至少7次收发包请求。

----------

* 10 【算法】如果无数多的猴子在无数多的打字机上随机的打字,并持续无限的时间,那么在某个时候他们必然会打出莎士比亚的诗集。那么这种说法与哪种不实用得算法类似

【答案】Bogo Sorting 猴子排序。

----------

Posted by [微博@iOS程序犭袁](http://weibo.com/luohanchenyilong/)
原创文章,版权声明:自由转载-非商用-非衍生-保持署名 | [Creative Commons BY-NC-ND 3.0](http://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh)

----------


One more thing...



【非礼勿视】以下为彩蛋部分,建议28岁以上男性观看

----------

![021-Victoria的秘密-林薇多003](https://user-images.githubusercontent.com/2911921/57526320-afcc4d00-735f-11e9-9abd-e30e8585af7a.jpg)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.