17滚动

几次面试后,我的一些思考和总结

作者: 来源: 2018-03-29 21:27:30 阅读 我要评论

沙龙晃荡 | 3月31日 京东、微博、华为拭魅战专家与你合营商量容器技巧实践!


比来我去几家公司面试,本意上只是去看一看本身的程度若何,达到了什么程度,鄙人一阶段我须要怎么做,然后在和几位面试官聊天的过程中,思虑了一些问题,这些问题也是下一阶段我须要去留意的,欲望看到文┞仿的诸位,这些问题可以给你们一点小的启发。

几回面试后,我的一些思虑和总结

1. Swift和Objective-c说话的差别是什么?

我大年夜官网Swift的介绍中朝长进步了它的几点特点:

  1. -?Closures?unified?with?function?pointers?
  2. -?Tuples?and?multiple?return?values?
  3. -?Generics?
  4. -?Fast?and?concise?iteration?over?a?range?or?collection?
  5. -?Structs?that?support?methods,?extensions,?and?protocols?
  6. -?Functional?programming?patterns,?e.g.,?map?and?filter?
  7. -?Native?error?handling?using?try?/?catch?/?throw?

其实袈溱应用swift的应用,如不雅真的想去应用好,就得去在应用的过程中去思虑Swift的特点有哪些,你有没有效到这些特点,如不雅你没有应用,那么你和使OC有差别吗?这是我须要推敲的工作,欲望看到我文┞仿的你也可以推敲推敲~

6. 你归去等消息吧!

小我感到可以大年夜两个处所出发去充分应用Swift的特点:起首是它的语法特点(如上所写:闭包;元组;快速的迭代;支撑办法,扩大,协定的构造体;函数式编程;原生的缺点处理);然后呢,就是编程思惟的应用了,Swift的核心的编程思惟,我认为有两个一个是函数式编程思惟,一个就是面向协定的编程思惟,当然还有一种思惟是AOP(面向切面编程) ,当然还有很多其他的思惟,然则我所知的┞封三者应当是最常见的,欲望我,也欲望大年夜家,在应用Swift的时刻,去思虑思虑本身应用了这些Swift特点没有?应用了这些编程思惟没有?如不雅没有推敲这些器械,就要去自我审查一下了~

2.在每一个筹划的时刻,必定要去推敲推敲你的算法是最优的吗?还有更好的解决筹划吗?

确切,很多时刻,在推敲筹划的时刻,甚至是根本的营业逻辑,同一个问题,是必定会有更好的筹划的!然则在如今我却并没有去思虑比较好的算法去解决问题,而是大年夜多半情况下采取的是异常根本的面向过程的编程思维,这是弗采取的也是不精确的方法。

这个问题其实很说简单其实很简单,然则重点却不是这个问题本身,而是那位面试官的原话当你应用Swift编程的时刻,你就不克不及应用Objective-C的思路去应用Swift了,你要知道Swift的特点是什么,不单单是针对OC的特点,而是这门说话本身的特点, 确切,在听完这个答复之后,其实我异常的┞佛撼,因为我以前确切都是在用应用Objective-C的方法去应用它,而忽视了这门说话本身独有的特点!!!

那我鄙人阶段可能就去要去花费时光去细心的研究研究算法这一块了,算法本身不就是法度榜样员所必须控制的基本技能吗?

3. 谈到组件化的方法,你提到了有经由过程路由的方法,协定的方法,以及Target-Action的方法等,来实现iOS项目标组件化的思惟,聊聊他们?

当然这个问题是我抽象出来处理的问题,实际上呢,面试官的原话是什么呢?

【编辑推荐】

  1. 优雅的开辟Swift和Objective-C混编的Framework
  2. Swift实践:应用CoreData完成一个通信录存储
  3. TIOBE 11 月编程说话排行榜:iOS开辟真没人要了?OC、Swift接连下滑
  4. 谷歌搞工作,Fuchsia OS操作体系运行Swift代码
  5. Swift多线程:GCD进阶,单例、旌旗灯号量、义务组
【义务编辑:未丽燕 TEL:(010)68476606】

你说你知道这三种方法,你认为Target-Action的方法最好,那么其余的两种方法呢?你应用过吗?他们的建立必定是为懂得决某些问题,如不雅没有足够的懂得的话,你又若何知道在具体情况下应用哪种筹划呢?

如同醍醐灌顶,每一种方法都有它本身所拥有的好处,并不是说某一种方法就是最优的,那基于这个问题,其实还可以衍生很多常识点,欲望大年夜家都对架构这一块去研究研究吧,写出低耦合高内聚的代码。

4. 关于项目标构架MVP,MVVM,MVC,它们各自是什么,它们的长处分别是什么?

不合的软件的构架是针对于不合的项目标,没有一种构架是完美的,当我们应用习惯了MVVM的构架之后,它就必定是最好的吗?你应用它的目标是什么?你有没有充分应用了MVVM,照样说你只是应用了简单的文件夹层次的划分?MVC固然有坏处,那是你真的充分的懂得了MVC的构架吗?

5. 知其然而知其所以然,SDWebImage库,你有没有浏览源码,当你去应用它的时刻,它的流程你可以说出来,然则每一个异步下载图片的框架都是这个流程啊,它的长处在哪里?比拟于其他的框架,它具备什么特点呢?


  推荐阅读

  全球首批支持5G功能的Wi-Fi热点来了

沙龙晃荡 | 3月31日 京东、微博、华为拭魅战专家与你合营商量容器技巧实践!【编辑推荐】2G网即将一去不复返,5G网加快脚步,携号转网2020年才能实现!你必须知道的5G技巧与标准科普企业Wi-Fi五大年夜陷>>>详细阅读


本文标题:几次面试后,我的一些思考和总结

地址:http://www.17bianji.com/lsqh/41041.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类亚博体育手机客户端与乐购科技进行文章共享合作。

网友点评