美文网首页
准备面试基础总结

准备面试基础总结

作者: 懒惰的习惯 | 来源:发表于2019-03-01 16:34 被阅读0次

今天生日,就收到了面试邀请,内心还是很开心的。
加油。

// 1. 未来规划
/** 我的看法:
 *  1> 未来规划在3内成为一个懂业务、产品的技术专家
 *  2> 接下来的时间内完成一个类似YYKit库
 *  3> 同时我希望自己在接下来的时间内:
 *     一:第一阶段,我希望在最少3年内,在目前的职位上沉淀下来;
 *     二:第二阶段,我希望我能够成为一个懂业务的人,能够提前发现问题,并解决问题;
 *     三:第三阶段,我希望我能成为该领域内比较前沿的专家,在工作中能有创新和发展,能为公司带来更大的价值。
 */
// 1. viewController生命周期
/** 我的看法:
 *  1> init(xib、code)
 *  2> loadView(加载view->view为nil时,加载view,如果是xib加载view,务必不能重写该方法,重写该方法后,要创建
       self.view,否则在viewDidView中调用self.view会造成死循环而卡死程序,它会一直调用loadView创建
       self.view);
 *  3> viewWillAppear(view将要渲染到屏幕上)
 *  4> 如果是第一次进来或更新了frame或调用更新frame的方法则调用viewWillLayoutSubView/viewDidLayoutSubView
 *  5> 如果是第二次或没有更新frame或没调用更新frame的方法则调用viewDidAppear方法
 *  6> 显示完界面后,之后再退出界面则调用viewWillDissapear/viewDidDissappear
 *  7> 如果发生内存警告,则调用didReceiveMemoryWarnning方法
 *  8> dealloc方法(销毁viewController)
 */
// 网络层的知识总结:
// 1. 简介TCP/UDP的区别,他们位于那一层?
/** 我的看法:
 *  1> TCP要经过3次握手(在吗?我给你发包啦?好,我发完啦,你收到了吗?)、4次挥手(我在。好,你发吧。确认我收到啦。断开连
       接)
       UDP只管发,不管是否接受
 *  2> TCP/UDP位于传输层,简称socket
 */

/** 标准答案:
 *  1> TCP/IP协议簇是一个集,其中包括了UDP,因为TCP、IP是其中很重要的一部分,所以,就以它们命名了。
 *  2> TCP/UDP位于应用层、传输层、网络层等。
 *  3> 其中:
       应用层包括:HTTP协议、TFTP协议、Telnet协议、SNMP简单网络管理协议、DNS域名系统(各个用途可google)
       网络层包括:IP协议、ICMP协议、ARP协议、RARP协议
       
 */

// 2. 路由器和交换机的工作原理大概是什么,他们分别用到什么协议,位于哪一层?
/** 我的看法:
 *  1> 路由器是将网络层的数据包路由给其他设备(终端),交换机是将高频数据包解析为短频数据包,我们机器需要的那些数据包。
 *  2> 路由器使用的是路由协议,交换机使用的是交换协议,位于网络层
 */

// 3. 描述TCP 协议三次握手,四次释放的过程。
/** 我的看法:
 *  1> 发送一个连接数据包给对方,以确认连接关系(1次握手)
 *  2> 要准备给对方发送数据包,问对方准备好了吗?(2次握手)
 *  3> 发送一个数据包给对方,以确认对方收到数据与否?(3次握手)
 *  4> 收到对方连接数据包后,告诉对方,我们连接好了(1次挥手)
 *  5> 收到对方准备发送数据包后,告诉对方,我们准备好了(2次挥手)
 *  6> 收到对方数据包后,告诉对方,我们收到数据包了(3次挥手)
 *  7> 发送我们断开连接数据包(4次挥手)
 */

/** 标准答案:
 *  3次握手
 *  1> 主机A向主机B发送一个带序列号的数据包,然后主机B收到这个数据包后,和主机A建立连接。这个数据包主要向主机B传达两
       个意思:一个是我要和你建立连接,另一个是你可以决定用哪个序列号来和我建立连接。
 *  2> 主机B收到数据包后,给主机B发送一个带确认以及序列号的数据包,主机A收到这个数据包后,知道主机B已经和我建立连接,
       并且用它给我的序列号来进行通信。
 *  3> 主机A收到主机B的数据包后,知道了咱俩已经建立连接,并且可以正常通讯,并且再发送一个确认应答给主机B。
 *  4次挥手
 *  1> 当主机A完成TCP通讯后,提出停止TCP连接请求。
 *  2> 主机B收到停止请求后,确认断开这一方向上的TCP连接。
 *  3> 再由主机B确认反方向的关闭请求。
 *  4> 主机A对主机B的关闭请求确认,这时,双方向的连接关闭。
 */

// 4. TCP 协议是如何进行流量控制,拥塞控制的?
/** 我的看法:
 *  1>
 */

// 5. 为什么建立连接时是三次握手,两次行不行?如果第三次握手失败了怎么处理?
/** 我的看法:
 *  1> 假如第三次握手失败,也就是对方没有收到消息,则重发数据包
 */

// 6. 关闭连接时,第四次挥手失败怎么处理?
/** 我的看法:
 *  1> 当你发送完数据包,准备断开连接时,挥手失败,则重发断开连接数据包,以确认断开连接
 */

// 7. 你怎么理解分层和协议?
/** 我的看法:
 *  1> 所谓的分层就是条理化、结构化,在合适的层做合适的工作,这样耦合度低,效率高。
 *  2> 协议就是在这一层能通过的数据包格式只有那些,或只有哪一种。
 */

// 8. HTTP 请求中的 GET 和 POST 的区别,Session 和 Cookie 的区别。
/** 我的看法:
 *  1> get方法参数以及post结构体内容都暴露在http连接中
 *  2> post方法是参数暴露在连接中,而post结构体隐藏起来了
 *  3> session是与服务器进行缓存的机制
 *  4> cookie是与浏览器进行缓存的机制
 */

/** 标准答案:
 *  session与cookie
 *  1> session是将数据存在服务器,而cookie将数据存在浏览器(客户端)
 *  2> cookie不是很安全,别人可以利用技术对浏览器中的cookie进行解析和欺骗
 *  3> session会比较占用服务器的资源,当访问增加时,会影响服务器一定的性能,应当多考虑cookie
 *  4> 单个浏览器中的cookie一般保留的数据不超过4KB,并且在它身上最多只能保存20个cookie
 *  5> 所以一般账号、密码等敏感信息一般保存在session中,其他保存在cookie
 
 *  post与get:首先post优点多,但get效率高
 *  6> get把请求头与参数和数据放在url上,post将数据放在http包体内,即body
 *  7> get提交的数据不能超过2K,但根据浏览器限制不同而不同,而post理论上没有限制,但有的也不能超过80KB,或100KB
 *  8> get在退回浏览器时,是无害的,而post会再次请求
 *  9> get只产生一个tcp包,包header和参数、数据等一起带过去,post会产生两个tcp包,一个带header,一个带data
 * 10> get请求参数会被完整保留在浏览器历史记录中,而post不会。
 */

// 9. 谈谈你对 HTTP 1.1,2.0 和 HTTPS 的理解。
/** 我的看法:
 *  1> http1.1是比较简单的短连接网络请求和响应
 *  2> http2.0在网络请求和响应中加...
 *  3> https是在网络中加了一把锁,确定网络环境以及请求的安全性
 */

/** 标准答案:
 *  http与https的不同:
 *  http在传输时不会检验服务器,内容也不会进行加密,别人拿到即可破解
 *  https在传输是会进行加密,也会对服务器进行检查,是否输入合法访问等。
 
 *  http1.1与http2.0的不同
 *  ...
 */

相关文章

  • 准备面试基础总结

    今天生日,就收到了面试邀请,内心还是很开心的。加油。

  • Notifications vs Delegates

    最近一直在忙着准备暑期的实习面试,所以最近开始复习OC基础知识。偷得半日闲,总结下面试考滥了的delegate和n...

  • 面试季:2019Java面试题汇总---基础版(附答案)

    基于我个人对面试的认知和招聘经验,在此我总结一下Java开发者的基础知识掌握要求,及应聘者面试的需要准备的内容。 ...

  • Java面试题汇总---基础版(附答案)

    基于我个人对面试的认知和招聘经验,在此我总结一下Java开发者的基础知识掌握要求,及应聘者面试的需要准备的内容。 ...

  • 面试中注意事项

    导读 如何准备一场面试,面试中需要注意些什么细节面试前准备面试中表现面试后总结 1. 面试前准备所谓知己知彼,百战...

  • 菜鸟面试基础准备

    • json是一种数据格式(键值对),是js的内置对象(如Math对象); • typeof( null / []...

  • Java基础面试准备

    HashMap不保证数据有序,LinkedHashMap保证数据可以保持插入顺序,而如果我们希望Map可以保持ke...

  • 面试题

    selenium面试题自动化测试面试题测试理论基础DevOps面试问题总结1

  • 近期Java高级工程师面试总结

    近期Java高级工程师面试总结 面试总结 Java基础 Hashtable和HashMap的区别。 抽象类与接口的...

  • Java集合干货总结(一)

    最近在准备Java实习生面试的过程中发现很多面Java基础时都会设计到集合相关的东西,所以准备总结一下集合相关的东...

网友评论

      本文标题:准备面试基础总结

      本文链接:https://www.haomeiwen.com/subject/yzrduqtx.html