楼主: 大眼珠子123
跳转到指定楼层
上一主题 下一主题
收起左侧

[自我提升] [AMA]如何成为iOS开发准大牛

   
🔗
xcmax123 2021-1-2 02:07:09 | 只看该作者
全局:
请前辈比较一下移动端(iso/安卓)和后台/全栈/数据科学家/架构师的职业发展,比如职级和薪水天花板啊,市场需求量啊,在求职难度。

评分

参与人数 1大米 +1 收起 理由
xcmax345 + 1 给你点个赞!

查看全部评分

回复

使用道具 举报

🔗
 楼主| 大眼珠子123 2021-1-2 02:59:52 | 只看该作者
全局:
zzh372024750 发表于 2021-1-1 15:58. 1point3acres
有一个观点,想请教下

目前是new grad, 毕业后也去大厂,不过不是狗狗和脸

这个实际上是一个站位不同导致的观点问题。

对于一线大厂的engineer而言,通常大家的起点就比较高,基本上大厂里面backend,都是比较成熟的框架,然后new grad进来就是有明确的一小块来拧螺丝。一般一线大厂的业务决定,backend肯定比做移动端的engineer多得多,于是新手上路的成功路径都被弄的比较清楚了。所以对新手一般比较友好,找人时也对new grad比较欢迎。同时大厂往往都有自己内部的后段框架,这样反正市面上也招不到有对应经验的人,横竖都是得培养,new grad也没啥不行的。
.1point3acres
移动端在业界技术流派差异太大。一线大厂试图用的,或者造轮子的技术方案,跟大多数三线小公司的拿着xcode就拖拽几下就把UI给画出来的思路相差太遥远。于是大厂招人做前端往往就变成不同的招聘思路,要不就是看中经验,有没有xcode用了好多年,然后能画出来就好。要不就是盯着一线大厂的技术思路,然后希望高标准的做正确的事情,于是招人也会挑剔很多。这样都不是对new grad很友好的招聘模式。. ----

如果不是放眼一线大厂的话,实际上行业里很多engineer做的也都是外包,或者传统行业里的软件开发部门之类的,这样的实际上对于转行的,或者起点比较低的前端engineer都比较友好。我也见过很多非CS专业的人,通过这样的轨迹来入行,后续发展就最终得看个人了。

大厂公司内部换组是切换技术方向的比较稳妥的方案,内部换组肯定对职业晋升没啥帮组。但是既然对方组愿意接收,肯定就是还是有耐心边发工资,边慢慢培养新人,然后组内通常也是有人帮忙手把手的教的。 ..


评分

参与人数 2大米 +3 收起 理由
zzh372024750 + 2 给你点个赞!
G1nn + 1 给你点个赞!

查看全部评分

回复

使用道具 举报

🔗
 楼主| 大眼珠子123 2021-1-2 03:05:31 | 只看该作者
全局:
zzh372024750 发表于 2021-1-1 15:58
有一个观点,想请教下

目前是new grad, 毕业后也去大厂,不过不是狗狗和脸

我个人觉得移动端入门并不陡峭,一线大厂的最新的技术方案的确有一些学习曲线。不过初级入门,使用Apple提供的初级标准做法,简单画画UI,跑一个app出来,实际上要比从头搭一个AWS的service出来还是容易的多的。毕竟有一个xcode,画个UI还是挺容易,且能迅速的跑起来的. 1point 3acres

大厂里的backend很多都是在既有框架的小job,真正试着从头搭一个能跑的service,其实上手难度一点也不比用xcode开一个简单新app容易。

另外,公司里的backed engineer的人数和历史也有很大关系,成熟的service,人数多了,新手文档什么的肯定还是比移动端的好很多的

评分

参与人数 1大米 +2 收起 理由
zzh372024750 + 2 给你点个赞!

查看全部评分

回复

使用道具 举报

🔗
 楼主| 大眼珠子123 2021-1-2 03:10:26 | 只看该作者
全局:
不过话说回来,早几年,iOS的objective c的确比较容易劝退。objective c这个语法的确很奇怪,跟各种主流语言都长的差太远了。基本一般的新手的确很容易看到这个语法就头疼爆炸了。
最近几年基本上大家都从Swift开始学iOS了,Swift虽然也有奇怪的地方,但是总体上算是比较正常的现代主流语言了,应该对新手更加友好一些了。
回复

使用道具 举报

🔗
 楼主| 大眼珠子123 2021-1-2 03:25:52 | 只看该作者
全局:
xcmax123 发表于 2021-1-2 02:07
请前辈比较一下移动端(iso/安卓)和后台/全栈/数据科学家/架构师的职业发展,比如职级和薪水天花板啊,市 ...

这些都是挺主流的job ladder,市面上都是有大把大把的opening的。其实市场需求最小,最难match的是PM,PM往往也很难有机会证明自己,毕竟PM需要一个平台,然后需要一个成功的产品来论证自己的能力。

看公司主要是做什么业务的,总体而言,公司主要产品是面对终端消费者的app,往往需要移动端engineer多一些,而类似广告,搜索,电商等等,后台的engineer会更多一些。如果是外包行业或者传统行业的话,那就更是看接到什么单子就做什么了。

这些主流的job ladder,都是很大空间的职业发展的,大多数人都不会因为工种遇到职级或者薪水的天花板,职业发展往后走很多都得看个人能力(不仅限于这个工种的专业技能)。

Again,招过人的都会知道,这些常见工种里面,iOS的市场供需关系是最有利于求职者的,所以从总体平均值来看,iOS的求职和薪酬都会好一些的。

评分

参与人数 2大米 +4 收起 理由
tianxiaguixin + 1 赞一个
沙场小兵 + 3 给你点个赞!

查看全部评分

回复

使用道具 举报

🔗
 楼主| 大眼珠子123 2021-1-3 04:03:47 | 只看该作者
全局:
分享一些常见的iOS面试考察思路。最近几年,iOS面试慢慢形成了一些比较稳定的面试考察思路,有针对性的准备一下不光是对提高面试成功率有帮助,对于提高自己对于iOS水平也是有效的。

先分几个大类来讲一下,
  • 算法/coding
  • xcode实操/build an app
  • xcode实操/app debug
  • 产品协作/产品sense
  • architecture/OO design

第一个算法/coding,这实际上是非常有争议的一个考察点。业界实际上不同的公司,不同的面试官对于iOS engineer是否需要考察,以及如何考察这一个方面,各种意见都很有市场。作为求职者,与其抱怨为什么这个SB公司/SB面试官要问算法,或者为什么这个SB公司/SB面试官不考察算法,作为积极面对现实的态度,既然自己还不是规则制定者或者能够有能力改变规则,就还不如承认现实,有针对性的多做准备,这样才能有效提高自己的面试成功率。. ----

就我所接触过的主流观点而言,其实分开来看,都还是挺有道理的和逻辑自洽的。大家基本上都会同意,不管是那种码农,面试肯定得考察coding skil,一个码农如果连code都码不顺的话,的确大家都会很担忧是否能够胜任工作。分歧点来自于,到底要用什么途径才能考察候选人的coding skill。这对于backend而言,通常并不是一个很有争议的话题,因为无论如何,一个面试session里面,总不能要求候选人现场开一个AWS的service来展示一下coding skill吧,或者让候选人现场完成一个公司后台架构里面的一个job,毕竟这些后台的开发上线发布访问权限等等都往往比代码本身要花费精力的多。于是,面试backend engineer,在互联网时代,慢慢形成了通过考察算法来考验coding skill的既成范式,尤其以Google和Facebook为代表,横竖公司内部都有自成一套的后台框架,市面上的候选人不管有没有经验,进来都得从头学起,这样的话,经验本身就没有学习能力和单纯的coding skill更有价值,于是考察算法也就是一个很有效的检验手段了。至于leetcode的出现,到底是帮助了广大候选人有效的提高了算法水平,还是给行业内卷添砖加码,这就又是另外一个大话题了。

回到在iOS领域,在达成iOS engineer候选人需要考察coding skill之后,具体的考察手段,就开始仁者见仁,智者见智了。. .и
有一派观点认为:不管是那种software engineer,核心技能都是共通的,决定一个候选人是否是一个优秀的码农,需要的素质和考察点也都是相同的,考察算法绝对是一个有效的检验手段。

另一派观点认为:iOS是一个非常依赖经验的专精技术方向,跟general backend engineer不同,iOS app开发严重依赖Apple提供的OS级别的系统库,一切都逃不出Apple定义的行为范式,而Apple系统库的庞大和复杂程度,导致了这一专精方向的门槛,与其考察在实际工作中800年都用不上的算法,还不如认真考察一下候选人对于Apple系统库的熟悉程度,毕竟最后deliver一个app,还是得靠系统库用的熟。

这两派观点都是非常主流的iOS面试范式,我们可以做的就是好好准备,面试现场指着面试官说你这面试方式真SB并不会有效的提升面试通过率。
  • 遇到考察算法的,现在越来越多的公司,会使用hackerrank/coderpad/codesubmit这类coding面试平台,可以在线coding,编译和跑test case,如果完全没有这类经验的话,这些大多都是可以免费注册一个账户自己试一下的。尤其是对于严重依赖xcode的auto completion fix的iOS engineer,提前适应一下还是很有效的,毕竟xcode这类现代IDE的auto completion还是非常强大的功能,一下子跳到每个字母都得手敲的环境里不适应还是很常见的。另外,面试iOS算法的话,大多数公司还是会要求在objective c和swift里面选一个的,面试iOS职位然后用Java来写算法,还是有些勉强的。就算法题本身而言,Swift还是好一些的选择,objective c语法太繁琐了,纯手敲的话,还是Swfit快的多,xcode里面用playground来练习一下swift做算法题,也是很有效的一个途径。最后,值得注意的是,objective c/swift都没有像java一样丰富的系统算法库,很多基本的数据结构真的需要的话,都得靠自己手写,这样也决定了iOS算法面试不应该免太复杂的数据结构。不过还是自己多练习下如何用swift完成一些基本常见但是iOS并没有提供的数据结构。
  • 遇到考察iOS系统库熟悉程度的,那就得靠日常工作积累了。毕竟iOS的系统库太多太多,日常工作用不上的的确就没什么好办法了。


评分

参与人数 3大米 +3 收起 理由
cht + 1 欢迎分享你知道的情况,会给更多积分奖励!
jackZhai + 1 赞一个
wendydy + 1 赞一个

查看全部评分

回复

使用道具 举报

🔗
 楼主| 大眼珠子123 2021-1-3 04:04:53 | 只看该作者
全局:
今天先写到这里吧。回头再继续更新。希望大家多多提问,有问题然后我针对的写作会容易的多。凭空写段子还是太难了。

回复

使用道具 举报

🔗
pc27149 2021-1-4 04:28:46 | 只看该作者
全局:
请问楼主有没有比较好的书或者网课推荐呢?
回复

使用道具 举报

🔗
 楼主| 大眼珠子123 2021-1-5 12:17:33 | 只看该作者
全局:
pc27149 发表于 2021-1-4 04:28
请问楼主有没有比较好的书或者网课推荐呢?

初学者的话,我一般就推荐
https://cs193p.sites.stanford.edu/

照着学下来,练习都亲自动手做完的话,足够上手了。
回复

使用道具 举报

🔗
xxnooryesxx 2021-1-5 12:40:01 | 只看该作者
全局:
哇今天刷到这个帖子太幸运了...
刚做了1年多的iOS dev,自从苹果宣布Mac也用自己芯片我就觉得OS开发前途至少很光明-baidu 1point3acres
现在的swiftUI都已经开始全平台了,以后肯定会更好
最近打算跳槽又开始刷题,不过用的是Java,觉得还是Java比较扎实,用swift有的东西可能都简化了
最近的面试确实因为疫情原因算法是必须的,之后还有具体的开发题
希望再过几个月可以成功上岸!
时刻关注lz的update哈哈哈!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
职场达人
  • ↑ 本版用于讨论职场各种干货话题,闲聊请去🔗聊聊或者🔗匿名版
  • ❌ 本版严禁水贴,引战,发布广告,拉群,贴个人联系方式,扣分无警告
  • ☑ 求职、面经等去 🔗北美求职和 🔗回国求职大区,刷题和学习请去 🔗终身学习大区
  • ☑ 请去专版发布 🔗内推, 🔗招聘信息,和讨论 🔗创业内容
  • ☑ PIP / DevList/ Need Support 等话题也已开设 🔗专版

本版积分规则

>
快速回复 返回顶部 返回列表