CSDN的第一篇-大疆IOS开发一面面经

大疆IOS开发一面面经

过了笔试收到一面的消息还是挺开心的,但是更多的纠结,因为其实我想投Java开发岗【捂脸】。当初投成IOS开发一方面是小伙伴怂恿IOS开发有意思,而且缺人,另一方面,我自己还没想好是做移动开发还是做Java开发,所以在大疆这边投了IOS试试看。后来还是觉得做Java开发吧,所以其他公司都是投的Java【捂脸】。

************言归正传!**************
先总结一下被问到的几个问题,然后我会自己总结一下答案,若有不到之处还望大佬们多多指导。

  • 首先是自我介绍,然后介绍一下自己的项目
  • TCP和UDP的区别
  • 多线程编程你了解多少
  • 你比较熟悉的数据结构是什么
  • 要实现字典的话用什么数据结构比较合适,为什么
  • 你觉得你最大的优点是什么
  • 平时都是怎么自学的
  • 对大疆了解多少

基本上是这些问题为起点然后展开聊。


1. TCP和UDP的区别

这算是常见的问题了,简单说:
1. TCP提供面向连接的、可靠的数据流传输,而UDP提供的是非面向连接的、不可靠的数据流传输。
2. TCP传输单位称为TCP报文段,UDP传输单位称为用户数据报。
3. TCP注重数据安全性,UDP数据传输快,因为不需要连接等待,少了许多操作,但是其安全性却一般。
4.TCP是点对点连接的,UDP一对一,一对多,多对多都可以。
5.TCP适合用于网页,邮件等,UDP适合用于视频,语音广播等。
(当然我回答没这么全)

然后又问UDP用于视频的话,怎么保证视频流畅稳定?
经查找:
RTP :(Real-time Transport Protocol)
是用于Internet上针对多媒体数据流的一种传输层协议.RTP 协议和 RTP 控制协议 RTCP 一起使用,而且它是建立在 UDP 协议上的.
RTP 不像http和ftp可完整的下载整个影视文件,它是以固定的数据率在网络上发送数据,客户端也是按照这种速度观看影视文件,当影视画面播放过后,就不可以再重复播放,除非重新向服务器端要求数据。

RTCP:Real-time Transport Control Protocol 或 RTP Control Protocol或简写 RTCP)
实时传输控制协议,是实时传输协议(RTP)的一个姐妹协议.
注:–:RTP 协议和 RTP控制协议(RTCP) 一起使用,而且它是建立在UDP协议上的。
来自 https://blog.csdn.net/u011216417/article/details/72835402

2. 多线程编程了解多少

其实我只了解一丢丢。直接上我觉得讲的比较清楚的一个博客:
https://blog.csdn.net/fang323619/article/details/73904351

3. 比较熟悉的数据结构

第一反应就是链表和二叉树了。还有哈希hash(最近知道也就是散列),图。也是个很大的概念,面试官会根据你的回答追下去。比如下一个问题就是。

4. 要实现字典的话用什么数据结构比较合适,为什么

那其实我是没有用过字典的【捂脸】只能硬上。以下是我面试完查询后总结的。
那首先字典类是一个抽象类,用于保存具有映射关系-键/值对 (key - value对) 数据的集合. 一个key-value对认为是一个条目 (Entry) , 字典是存储key-value对的容器。
那很明显肯定是hash散列来实现字典。

5. 关于最大的优点

我是提到我觉得我自学能力强,顺便就提到了项目是在2个月的时间内,从什么都不会到最终都做出来,全靠自学。然后面试官描述了一个任务,问我觉得我需要多久能完成这个任务。是要求把低分辨率的图像转化为高分辨率的图像这么一件事情。这个展开说很复杂很长,涉及到一些我不熟悉的专业名词,我也记不清了。

剩下的问题就仁者见仁智者见智了。
希望自己能找到合适工作。
以上。

你可能感兴趣的:(CSDN的第一篇-大疆IOS开发一面面经)