美文网首页
iOS开发面试-如何打破30岁的中年危机

iOS开发面试-如何打破30岁的中年危机

作者: iOS丶lant | 来源:发表于2022-04-26 15:19 被阅读0次

    程序员圈子里一直流传着一个魔咒:30 岁的中年危机。

    他们说,30岁程序员的精力和体力会无法避免地下降;他们说,30 岁程序员的丰富经验没有年轻员工的创新活力吃香;他们说,30 岁程序员会面临越来越窄的职业上升通道和日益复杂的社会压力。

    这些“传说”令许多程序员每离 30 岁进一步,就更焦虑一分,并迫切寻找打破这一魔咒的方法。

    而今天我要介绍的程序员可谓是“不一样的烟火”。非科班出身亲身证明了 30 岁之后的无限可能。

    为什么年长的软件开发人员如此稀有?

    • 高昂的薪资

    很显然,经验丰富且年龄偏大的软件开发人员拿到的薪资理应高于年轻人(尽管有时未必),而且他们的期望值也会偏高。问题在于需求。软件公司是否需要这些经验丰富的开发人员?他们值得雇佣吗?基本上可以说,答案是否定的。各个公司往往并不需要大量经验丰富的高级开发人员。每个公司都需要面对现实的问题,负担大量高薪的高级开发人员的压力可不小。

    • 换工作

    绝大多数开发人员都会找到一种无需编写代码即可赚更多钱的方法。因此,换工作是另一个原因。

    • 永无止境的学习

    技术、编程语言和框架的发展日新月异,所以许多年长(甚至年轻)的开发人员都跟不上时代的步伐。随着年龄的增长,人们还要负担很多其他责任。他们往往没有足够的时间来学习新技术。这是这个行业没有太多高龄开发人员的另一个原因。其他行业的专业人士就无需面对如此巨大的学习压力。程序员需要没完没了地学习新技术。

    • 环境

    随着时间的流逝,大家会逐渐注意到自己成为了团队/公司的老一辈,周围是一群年轻的程序员。由于代沟以及其他的一些因素,许多人无法与年轻的程序员很好地沟通。他们感到在工作中很孤独。这是另一个原因。

    • 相对较新的行业

    与其他行业相比,软件行业比较新。这是最大的原因之一。随着行业的发展成熟,希望我们有机会看到更多年长的开发人员。

    那么程序员如何在这个行业生存

    按照我工作年限,我应该是没资格来说这件事的,不过周边有不少朋友是CTO,技术VP之类的高管,都是顺利度过“中年危机”的优秀人才,我专门为了这个问题去向他们请教,结合他们的意见,我总结了几条建议如下:

    对于许多人来说,编程不仅仅是一份职业。最近,我在阅读一些相关的文章时发现,许多50岁以上,甚至60岁以上的开发人员仍在从事编程。他们中的一些人也有其他的工作机会,但是他们都拒绝了,因为他们喜欢编程。其实,能够从事自己喜欢的工作,是人生一大幸事!但是,无论你喜欢与否,如果想长期从事这个职业,就需要牢牢记住一些忠告。无论你是年轻还是年长,所有程序员都需要记住:时刻努力学习新技术,否则就会被时代抛弃。

    紧跟年轻人的思想

    除了便宜以外,各个公司喜欢招募年轻开发人员的原因还有两个:

    • 他们渴望学习。他们很好奇,喜欢学习新鲜的事物。他们学习的知识都很先进。
    • 他们可以激发很多新想法,并分享新的观点.

    因此,请紧跟年轻人的思想。只要有年轻的心态,年龄无关紧要。

    放下“技术包袱”

    许多程序员都有技术“包袱”。请放下包袱,对新技术保持开放的心态。如果某个程序员长期从事某个特定的编程语言,而没有任何其他方面的工作经验,则一些招聘人员会视之为危险信号。

    专注本业,做深做强

    程序员这个职业和律师,医生,运营等职业不同,它要求从业人员更好的新技术学习能力,反而对于从业人员的经验要求不高。就单从程序语言来说,2000年初JAVA才刚刚起来,不到10几年的时间已经代替C++成为使用最多的技术语言。而GO,Groovy,Python等后起之秀也快速发展。这就要求这个行业的从业人员需要具备快速的技术学习能力。如果你是一个技术狂人,能够快速的学习新的技术语言,并对枯燥的IT技术甘之如饴,那么持续沿着技术这条路走下去也是一种选择。毕竟每一个行业,总需要能够钻研最底层技术的人。

    关于iOS方面的技术储备

    现在竞争这么激烈,只有通过不断学习,提高自己,才能保持竞争力。

    对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们!

    对于一些不知道学习什么,没有一个系统路线的程序员,这里给大家提供一个大概的思路:


    iOS的开发的三个阶段

    iOS初级工程师的技术要求

    • 精通Objective-C语言基础
    • 精通UIKit等Cocoa Framework
    • 熟悉网络通信机制以及常用数据传输协议
    • 具备主流开源框架的使用经验

    iOS中级工程师的技术要求

    • 扎实的编程、数据结构、算法基础
    • 深入理解语言机制、内存管理、网络、多线程等
    • 精通常用设计模式、框架、架构
    • 良好的分析、解决问题的能力

    iOS高级工程师的技术要求

    • 解决研发过程中的关键问题技术难题
    • 调优设备流量、性能、电量等
    • 较强的软件设计能力
    • 对iOS内部原理有深刻理解

    面经整理

    目录:

    BAT算法面试题


    内容:
    BAT面试宝典

    阿里iOS面试题


    内存管理面试题


    设计模式面试题


    OC底层面试题


    Runloop面试题


    Runtime面试题


    UI相关面试题


    多线程面试题


    限于平台篇幅原因,更多内容展示不了,觉得不错的需要的可以三连支持一下
    如需要上述这些PDF的资料可以添加VX:mayday1739 来获取一下(申请时可以备注一下 简书面试题获取)

    相关文章

      网友评论

          本文标题:iOS开发面试-如何打破30岁的中年危机

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