美文网首页待读清单iOS && AndroidTODO READING
#技术面试# weak 是如何实现的?

#技术面试# weak 是如何实现的?

作者: 酷酷的哀殿 | 来源:发表于2017-03-07 23:26 被阅读603次

声明一:本文是作者在《开发进阶》圈子内的分享文章。转载前请先联系本人。

声明二:本人没有接受过面试官相关培训,以下内容仅为个人观点。

假如我是 iOS 面试官,我一定会问你 “weak 是如何实现的?”
有些人会很反感、不屑,“大公司病,这个面试官真能装”;有些人会感到不解,“研究这个有什么用?和我的业务没有关联啊”。

本文将会从我个人的体会,谈谈什么叫做技术面试?希望读完本文,能够让你理解面试官出面试题的思路,不再对这类问题感到反感。

对于技术团队,具有以下特质的人会让人喜欢:

  • 富有探索精神

作为大公司或者作为互联网行业的一员,如果一个人只会死守着之前的那点儿知识不放,只会着眼于眼前,只会按时完成公司分配的任务,那么,他的适应力往往会很差,在充满未知和挑战的互联网行业,一旦项目发生了变化,在新的任务、新的职位、新的挑战面前,他很容易成为团队中最不稳定的因素,可能工作效率下降,可能工作质量下降,也可能会积极性降低,最终或主动或被动地离开团队。

越是大公司,培养新人的成本也越高,即使是社招,也会出现因为无法适应新的项目导致离职的存在。尤其是一些大型的项目或者复杂的项目,因为历史的原因,新人接手的过程会很长,可能需要2~4周才能真正的有产出,为公司产生效益。公司花了这么大的力气组织招聘和培养人才,从公司角度来讲,新人主动离职或者被动离职都是非常不划算的。

所以,我非常认可面试官招募富有探索精神的人。

对于团队来说,这类人适合当做团队的急先锋。比如有新的技术需要攻破时,他可以负责进行快速突破,一个经常阅读源码的人,他的能力应该也不会差。

如果我是面试官,我一定会招比我富有探索精神的人,招能适应各种新技术、新行业、接受新挑战的人。

  • 技术深度

对于团队来说,很容易就可以招聘一个会做业务的人,但是却很难招到一个精通底层的人。

为了知道应聘者的技术深度,面试官会尽可能地追问,直到应聘者无法作答。比如,你面试 工程师的职位,面试官可能会问一些高级工程师的问题,以此来判断你离高级工程师还有多远,也许,在面试官的眼中,你已经是高级工程师的级别了。

本质上,这也是一个供需的问题。比如,遇到一个非常棘手的系统bug,不可能只是提醒用户进行升级,而是替换系统的实现。
聊聊苹果的Bug - iOS 10 nano_free Crash。或者,iOS 开发者经常遇到的热补丁、动态化等问题,这些都需要对底层知识足够熟悉才能够实现。

对于团队来说,能够招到一个有技术深度的人才也是非常值得的事情。

  • 沟通

程序员的沟通能力可能无法和 PM 相比,但是,大部分的团队都需要大家一起努力,一起朝着同一个方向用力才行,如果一个人的沟通能力很差,他是无法长期的和同事相处的。面试时,如果遇到了没有思路的情况,不妨问问面试官,相信他会很乐意地帮助你理清思路的。

  • 架构
    待续
  • 代码
    待续
  • 视野
    待续

回到本文的标题,“weak 是如何实现的?” 如果,你知道原理,很好,把自己“富有探索精神”的特质表现出来。

最好先花上一分钟整理思路,如果仅仅是知道,但是无法有条不紊地表达出来,“沟通”这一项是会扣分的 :-D

如果不知道原理,也没有关系,体现“聪明”特质的时刻到了。

作为 iOS 开发者,你一定用过这个关键字。遇到这道题时,先告诉面试官“我没有看过这一部分的内容,但是我看过......(autorelease或者其它),能不能让我整理一下思路,讲讲‘如果我是设计者,我会怎么实现它’”,接下来,你便可以开动自己的大脑,想想它都有哪些特性,这些特性分别靠什么可以实现。

正规公司的面试官的每一个问题都是它的出发点的,想想它的出发点,再想想,自己能够通过它,体现出什么特质,你便再也不会有任何的抱怨了。

相关文章

  • #技术面试# weak 是如何实现的?

    声明一:本文是作者在《开发进阶》圈子内的分享文章。转载前请先联系本人。 声明二:本人没有接受过面试官相关培训,以下...

  • weak、strong、@ property

    面试题:weak实现原理? 一、weak weak 基本用法 weak 是弱引用,用 weak 来修饰、描述所引用...

  • iOS日记4-weak关键字

    1.runtime中如何实现weak 生成weak对象 weak对象有一张weak表(类似引用计数表),是作为散列...

  • iOS中的weak指针

    ObjC runtime是如何实现weak指针的 用strong指针创建weak指针,系统会调用objc_init...

  • iOS —— 属性及其特质

    【从历年weak看iOS面试】2013年面试官:代理用weak还是strong?我 :weak 。面试官:明天来上...

  • Java WeakReference弱引用的理解与使用

    前言: 看到篇帖子, 国外一个技术面试官在面试senior java developer的时候, 问到一个weak...

  • 2020-10-12

    面试题 1.weak属性如何自动置nil的? Runtime会对weak属性进行内存布局,构建hash表:以wea...

  • <<写给广大非科班iOS开发者的一篇面试总结>>答案

    答案来源于网上,非原创,如有侵权请联系本人 1、如果让你实现属性的weak,如何实现的? 答:对于注册为weak的...

  • weak

    weak的底层实现weak 弱引用的实现方式

  • weak指针工作原理

    面试题 weak指针的工作原理?对象没有强引用时,如何实现将指向当前对象的弱指针置为nil。答:当变量被修饰为 w...

网友评论

    本文标题:#技术面试# weak 是如何实现的?

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