人物访谈 | 一位 iOS 程序媛

人物访谈 | 一位 iOS 程序媛

Jojo 是我的前同事,做事非常细心,负责过团队多项重要功能的开发与建设,是我接触过为数不多的比较优秀的程序媛之一。这次邀请到她,来聊一聊她眼中的 iOS 开发。

简单做个自我介绍吧

大家好,我是 Jojo ,90后,一直从事 iOS 开发的一枚湖南妹子,喜欢交朋友,容易与人相处。现在是一名娃 3 岁➕的宝妈,如果有北京的宝妈,一起遛娃呀,哈哈哈~

当初学计算机专业出于什么考虑?后来为什么选择了 iOS 开发?

从小农村长大,初中才开始接触电脑,感觉计算机特别神奇,出于好奇,就走了编程这条路。当时 iOS 比较火热,苹果手机高端,能在高端手机上开发 App,会是一件愉快的事情。

目前程序员群体的男女比例大致在 9:1,女生的比例还是比较小的。

作为女生,你怎么看待这种状况,有质疑自己选择做程序员这件事吗?

我工作时遇到开发的女生还是挺多的,也许现在比例较低,个人认为以后会越来越多。目前为止,我认为自己走上编程这条路没错,也没后悔过。自己是比较简单的人,开发圈相对来讲也比较简单,挺喜欢的。

你目前的工作状态是什么样的,有没有困惑或迷惘?

目前工作状态还不错,知道自己想要什么,需要哪方面充电,也正在往自己希望的方向走,工作三年左右那会有过迷惘,感觉大部分东西能实现,工作中需求也能完成,遇到了程序生涯第一个天花板,却不知道怎么突破,那会感觉这辈子只能这样了。

后来遇到了一群可爱又优秀的人,也不排除年纪增长带来的觉悟,能发现自己的不足,目标越来越清晰,了解目标应具备什么能力,寻求突破。不知道大家有没有过相同感受,我曾经不太喜欢看书,逼着自己都看不下去那种,近期却非常想看书,发现认真读完一本书真的可以学到不少东西。

最近在看《非暴力沟通》,读这本书一开始是因为家里有个调皮小孩,天天跟我唱反调,心累得很。收获,让我懂得分析矛盾产生原因,以及如何去解决矛盾,书中会提供几种方法,总而言之,冲突产生时,学会倾听内心的声音,然后站在对方角度去感受,这样很大可能能够建立积极关系,收到良好反馈。不仅育儿有用,工作中同样受益匪浅。

如果大家有看过的好书,感谢推荐给我看看。如果有跟我一样困惑的人,还没遇见影响着自己变的更好的人,那就多看些好的有意义的书,说不定能找到点思路或者多交交朋友。遇见优秀的人多了,自己也会变得更加优秀。

作为程序媛,有没有什么与程序猿不同的工作方式?也可以介绍一下自己的高效工作法。

个人感觉程序媛会更细心,可能这是女性特质。

仅代表个人的一个有效的工作方式是,习惯写 ToDo List 。按照重要和紧急两个维度把待办事项列出来,然后按照紧急重要排优先级一个个完成,这样做会有这些好处:

1、做事不会遗漏。工作中随时都有可能被一些事情打断,有插入事项时,能及时记录进去,我比较健忘,所以对我帮助还挺大的。

2、有助于回顾。写周报时看 To Do List,秒完成。

3、建立目标感。有目标的每天,时间过得快而充实。

关于“程序员是青春饭、35岁失业”等,作为程序媛,你怎么看这个问题?

青春饭 35 岁就失业这个我以前也有过这样的想法,现在则有不同的看法。淘汰的永远是年纪跟能力不匹配的人,所以与其为未来焦虑,不如为现在努力,让自己保持进步和成长。

你觉得工作中最重要的一项技能是什么?

自学能力。曾经就职的公司,开发能用 Swift 的得用 Swift 开发,而我在这之前一直只用 OC ,如果自学能力不够,很难跟得上。不知道大家有没有这样一种错觉,干过编程的,再去干别的,只要给足够多时间,没有学不会的自信😁,我认为这是自学能力带来的信心。

你现在还要带娃,个人时间应该更少了吧,你是如何平衡工作和学习的呢?

相对来讲会减少一点,但也不是没有个人时间,以下方面起到不少作用:

1、提高效率,像上面记录 ToDo List 的方式,自己认为是提高效率方法之一。

2、寻找合作伙伴,平时我婆婆在这边帮我,我老公也会一起带娃。

3、娃上幼儿园后,大部分时间都在学校度过了,目前工作学习带娃没有失衡。

不过追剧逛街的时间确实没以前多了,要买啥,记录下来,申请一下逛次狠的😁。平常还会再抽出一些时间看看书,学习一下。

让你坚持做程序员的动力或目标是什么?有没有什么心得或经验分享给其它程序媛?

在任何行业做好一件事都是有难度的,感觉计算机行业自己也挺喜欢,好像没有理由不继续下去。
对所有女程序员说:如果不讨厌编程,Just do IT。

有没有什么想借助于摸鱼周报进行宣传的?

大家如果对百度感兴趣,可以随时把简历发我邮箱:jojocaonet@163.com,找我内推。马上过年了,买不买新衣回家过年就靠大家了,哈哈哈。

大家如果不嫌弃认识我的话,可通过飞哥加我微信,也可以通过邮件跟我交流哦。

任务访谈 | 一位游戏行业的 iOSer

任务访谈 | 一位游戏行业的 iOSer

iHTCboy 是摸鱼周报里负责校对的成员之一。记得他第一次参与校验时,我把一期整理好的周报发给他看,他后来给我发了 1600 字的修改意见,我都震惊了。修改意见里即有关于技术点的,也有格式和语言表述的,关键读过之后,感觉他说的还非常有道理,由此可见他做事认真的态度。下面是访谈内容。

简单介绍下自己吧

大家好,我是 iHTCboy,从事游戏 iOS SDK 开发快五年了。目前在 37手游,以 SDK 开发为主栈,自动化技术实践为副栈。目前我们海外版 SDK 中除了仅剩 1% hook 的 OC 代码,全部是 Swift 代码;在游戏行业有多年经验积累沉淀后,我们团队希望打造和分享一些 SDK 相关的自动化方案或框架,未来会逐渐开源,敬请期待,跟大家一起学习交流&进步!

当初为什么选择计算机这个行业呢?

应该是小时候对黑客的幻想,《电脑报》90后应该都有看过吧?而《黑客防线》、《黑客x档案》、《黑客手册》这些杂志,不知道大家有没有看过,初中时很着迷,初中时用破解软件逃过网吧收费系统,高中帮亲戚修电脑重装系统,有非常大的好奇心和成就感。在对计算机编程有全面了解前,总是幻想自己当上黑客后xxx,神秘又强大是每个男孩都有过的梦想吧!所以不加思索的就选择了计算机。

游戏公司的 SDK 开发日常是什么样的,它跟应用开发有什么区别呢?

每一位不熟悉游戏 SDK 开发的朋友都会问这个问题。应用开发大家可能比较熟悉,我们在开发中,也会引用第三方的 SDK,比如友盟 SDK、微信 SDK,这些 SDK 提供推送、分享或者支付的能力。而游戏 SDK 开发也是这个道理,为游戏提供特定平台的原生 API 功能。举例来说,目前主流游戏都是 Unity 引擎开发,游戏开发好后,可以导出 Android 项目或者 iOS 项目(Xcode 项目),然后在接入原生平台的 API。

游戏发展到今天,已经高度标准化…..

游戏研发专注于游戏内容的设计和开发(跨平台),而 iOS 和安卓平台原生的能力(如支付 IAP)就由我们封装成 SDK,提供接口给游戏调用。

1、SDK 开发包括:

  • 帐号体系(包括封装第三方账号体系:WeChat、Facebook、Google、Line、Twitter 等)
  • 支付体系
  • 分享社交
  • Web页面(游戏活动、客服、攻略等)
  • 数据埋点(广告、留存、数据分析等)
  • 性能监控

将以上功能模块封装成 API 给游戏调用,一般就是登录、用户中心(有界面),其它都是业务逻辑处理。

2、SDK 是提供给游戏使用,所以不像 App 快速迭代 UI,而是迭代业务逻辑。详细的开发细节,以后有时间专门写篇文章吧。关注游戏行业的发展,可以参考之前写的文章:游戏出海本地化概述

看你发多篇调研苹果审核和内购相关的文章,针对最近苹果在美国败诉,撬开苹果 IAP 的限制,你怎么看?这个改动可能带来的影响有哪些?

我们先来梳理一下,苹果 AppStore 垄断案的几个新闻关键点:

时间 概述 引用来源
2021-08-26 Apple 与美国开发者就 App Store 更新达成一致,开发者可以使用电子邮件等通信方式与用户共享 iOS App 之外的支付方式信息。 来源
2021-08-31 韩国国会立法和司法委员会通过《电信业务法》修正案,禁止占据市场主导地位的应用商店强迫移动内容提供者使用特定支付方式。 来源
2021-09-01 日本公平贸易委员会结束对 App Store 的调查,允许“阅读器”类 App 的开发者在 App 内提供访问其网站的链接,开发者可将用户引导向外部网站进行购买。(阅读器 App:提供数字杂志、报纸、书籍、音频、音乐和视频的预付费内容或内容订阅。 来源
2021-09-10 Epic诉苹果垄断案裁决:美国联邦法院命令苹果不得禁止应用发商引导用户通过第三方支付平台付费。法院并不认为苹果公司是手游交易市场垄断者,但认为苹果公司禁止将用户导向其他渠道是反竞争行为。要求苹果必须在12月9日之前执行。 来源1来源2
2021-11-10 Yvonne Gonzalez Rogers 法官拒绝了苹果公司关于推迟执行永久禁令的请求,苹果打算根据这些情况要求第九巡回法院暂缓执行。 来源

关于 IAP 内购问题,随着 AppStore 体量越发庞大,大多数开发者认为 30% 税不再合理,其实很多事本身就没有公平合理可言,省略一万字~ 你懂的。

大家可能忽视了一个重要的问题:苹果 IAP 收入占比最大的是什么类型的 App?答案是游戏!所以,对非游戏类 App 允许使用 IAP ,目前对于苹果的损失还不是很大,当然,如果没有损失是最好,但是目前的大环境和反垄断,一定会让苹果做出调整。(注:游戏一直以来都是 App Store 中的重头戏,从 2017 年 iOS 11 开始,苹果在 App Store 增加了 Games 游戏标签入口。)

对于苹果败诉带来的影响:

(1)苹果在美国一定会上诉,一般垄断案可能长达几年时间,所以苹果愿意继续打官司,尽量拖延时间(参考微软 IE 浏览器反垄断案,从1997年到2002年)。

(2)苹果降低 IAP 税率或允许所有 App 使用第三方支付是时间问题,但没有了 IAP,苹果可能会推出其它的服务费。

就在 11 月 19 号,谷歌宣布韩国地区的 Google Play 商品允许应用接入第三方支付系统。谷歌目前每年前100百美元抽15%,超过后30%。按谷歌的新规,韩国地区接入第三方支付系统,谷歌依然从中收取11%(26%),也就是说抽成只是被降低 4%。
简单来说,就是谷歌允许开发者使用第三方支付系统,但没有说不能抽成啊!抽成和允许第三方支付,不冲突!

为了应对韩国的新法规,Google 已更新 Google Play 付款政策

(3)对于开发者来说,肯定是好事。但这件事背后,是大资本之间博弈的结果,一定要明白为什么可以赢,比结果重要。

看过你的博客:https://ihtcboy.com/ ,从2008年就开始写了, 这是一个非常长的时间跨度。关于博客部分也有几个问题想问下你。

培养一个良好的习惯并持之以恒是一件不那么容易的事情,能讲下你是如何培养写作的兴趣以及对培养一个有益的习惯有什么建议吗?

高中语文课最讨厌的就是写 500 字作文,但没有想到自已大学后会喜欢写作。写作可能是我小时候比较孤僻,很少与人交流,总喜欢自言自语道,也许是这个原因,自己会有很多天马行空的想法或者内心独大。而作文是根据要求写作,限制你话题,没有自由的发挥和空间。

当然喜欢是一回事,写的好不好才最重要!培养写作,我认为要了解写作的注意事项,怎么样的文字修饰有多妙,多模仿多练习。培养习惯,更多是从一个个可行的小目标做起,积累量多了,慢慢就是习惯。切忌急功近利!

写作一定也有通用的规律规则,比如 中文技术文档的写作规范。大家多写写,多总结,一定会有自己的收获。

你写过如何建立自己的开发知识体系的文章,程序员也是一个需要不断学习的行业,关于如何让学习这件事变得有趣,再分享一下你的见解吧?

(1)说起来见笑了,建立自己的开发知识体系 只是觉得大家可以往一些通用的方向去梳理。现在回想起来,发现自己也没有什么都懂,可能接触和学习更多知识后,发现自己空白面更多,然后就越想学习。所以,也许再过几年,会有更深的理解,之后再跟大家分享啊。

(2)“不断学习”我认为是21世纪,每个人都要学会的。就像父母要学会用智能手机,否则健康码都打不开,在城市里寸步难行。所以,大家一定要正面接受它,每天都要学习和进步。

(3)“让学习变有趣”,其实我一直认为看书,应该是让人感到愉快的事情。但为什么大家都不愿意学习了呢?我觉得最重要的是,大家越来越急功近利,一切都为更快,从而忘记了体验过程。举个例子,去旅游时,可能为了发一个朋友圈,一直拍照修图,刻意的、绞尽脑汁的想,却没有享受风景的心境。所以学习本身如果慢下来,不只关注结果,还关注或者尝试从问题到结果的推演过程,这样的学习会更有趣一些。

你博客有很多思维导图,思维导图除了能够帮助梳理知识外,还有其他什么好处吗?

大家一定知道一个道理,图片比文字更加形象。思维导图比一段文字也更加生动形象,所以,它不仅能够梳理知识,还能理清知识的层次和架构,帮助记忆知识。举个例子,Vim 快捷键,如果你忘记了,打开思维导图,一看就知道:

再比如,说到人工智能,可能想法很多,那么大的框架应该是怎么样的呢?

最近有什么感悟想跟大家分享的吗?

关于内卷的话题,网上有很多讨论,大多数是吐槽或者劝退。我想换一个词,“努力”,为什么会有人很努力?现在大家都达到小康生活后,大多数人会选择躺平,然后自嘲自己是打工人。其实自甘打工的还是少部分人,大部分还是想往上跳一跳当老板的。另一方面在一个阶级中,努力的人,往往是想要跳出这个阶级的。就是这个往上跳的愿望,它需要的正是努力。

所以,努力它本身上没有错,这代表一种向上的态度。但需要注意的是努力的结果,是不是可以为你改变什么?如果可以,我觉得努力无可厚非。否则,就是真内卷。

最后,有一句话送给大家一起共勉:

Follow your own course, and let people talk.
走自己的路,让别人说去吧!
- 但丁 《神曲》

有什么想借助摸鱼周报宣传的?

欢迎大家关注我们掘金公众号:37手游iOS技术运营团队,会定期分享一些有趣的文章。

如果大家有兴趣加入三七互娱,可以查找相关岗位 :https://zhaopin.37.com ,或者将简历发给我内推:ihetiancong@gmail.com。不要担心有没有相关岗位,优秀的人,在哪里都是金子!

如果有其他问题想跟 iHTCboy 交流,还可以在留言区评论。

人物访谈 | 一位参加过 WWDC 的 iOSer

人物访谈 | 一位参加过 WWDC 的 iOSer

Mimosa 是摸鱼周报的编辑之一,负责每期的学习资料整理。在一次聊天过程中他晒出了跟 Tim Cook 的合影,给我们馋哭了。于是就有了这期访谈的主题:WWDC 之旅,也算是拉着 Mimosa 一起回忆了一把,哈哈。因为是在 17 年,WWDC 还是线下,活动真还挺多的,不知道还要多久才开发者大会才能再次回归线下,希望疫情赶紧过去吧。

简单介绍下自己吧

哈咯大家好,我是 Mimosa,中文谐音名棉毛衫,小号是 Mimoku(棉毛裤),是一名 iOS 开发者,工作经验一年左右,是 iOS 摸鱼周报的编辑之一。我是在大学的时候接触的 iOS 开发,当时加入了学校的 iOS Club,在大二那年获得了来自 Apple 的 WWDC Scholarship Winner,从此算是与 iOS 开发结缘,参加了许多与 iOS 相关的活动,毕业到如今一直是从事 iOS 开发。

能讲下自己获得 WWDC 奖学金的经历吗?

首先先介绍一下这个奖学金吧,WWDC Scholarship Winner 是 Apple 每年为全球学生提供的一个小福利,每年 4 月份的时候,Apple 会在官网放出当年 Scholarship 的要求,比如你需要是一个学生,你不能年龄太小等等,你还需要做一个有创意、激动人心的小作品,并提交,全球每年将会有大约 350 名学生的作品会被接收。如果你的作品被接收了,那么将免费获得一张当年 6 月份参加 WWDC 的门票,价值 $1599 😎(且提供住宿、来回差旅费也有机会报销)。在 2020 年之后,这个奖学金改名叫做 Swift Student Challenge 了,且由于疫情这两年的 WWDC 改为线上,就无法去现场参加了。

我获得的是 17 年的奖学金,申请 WWDC 奖学金时我正值大二,当时是刚学完学校的 C 语言课程和数据结构,加入了我们学校的 iOS Club,也是第一次接触 iOS 开发。我还清晰的记得当时是在 Swift 3.0 的环境下用 Swift 2.0 的教学视频在自学😂,周围会 Swift 的人也是屈指可数,只能自己上网摸索。由于当时有学长获得过上一年的 WWDC 奖学金(但由于时间问题没去 WWDC 现场),所以当时的刚学我们也想试一试,就熬了几天用自己学过的所有东西做了一个作品提交了。没成想那年我们学校有 4 位同学获得了奖学金!但最后由于签证问题(我是之前已经有申根和美签了,但我的朋友们没有😢),所以只有我一个人去圣何塞 WWDC 的现场。

你当时开发的是什么作品?

那一年是第一次 Apple 要求参赛者制作一个 playground(之前都是要求做一个介绍自己的 App 这种类型的题目),我制作了一个简单又可爱的可视化冒泡排序教程💂‍♀️,运行在 Swift Playgrounds 这个 App 中(可以在 iPad App Store 和 Mac App Store 中找到这个 App),利用这个 App 一侧可以写代码,一侧可以查看运行结果这种所见即所得的特性,来教使用者冒泡排序算法的原理。

参加 WWDC 期间有什么好玩的事情,这个过程有什么收获?

可以说是收获颇丰。首先一个是,作为 Scholarship Winner 可以额外参加一个 WWDC 正式开幕之前的 WWDC Scholarship Meeting,由 Apple 组织在一个小剧场和我们讲了一点 Apple 在各个方面做出的一些努力等等,还会给我们发一个 dev 版本的 Apple TV。重要的是,在所有演讲结束后,Tim Cook 会突然走出来和所有 Scholarship Winner 合影,然后接下来就是激动人心的和 Tim Cook 合影环节,我当时的情况是你只需挤到他旁边他就会和你合照一张!🤩据我观察现场大约有 2/3 的人都在成功合影了。(剩下没合影成功的只能落寞地望着 Tim Cook 和他保镖的背影😇

对于大多数开发者来说,可能 WWDC 里面重要的是各种各样的 session,但其实也会有一些无关技术但与生活相关的演讲,给我印象深刻的有两个。

一个是在 WWDC 的第二天,由于我时差没倒过来睡不着,参加的当天最早的一个演讲,是奥巴马夫人米歇尔的一个演讲,(虽说我排队时排在前几个但是仍没坐到前排,气死了),她讲了许多科技与生活的事情,谈论了他的孩子,还讲了去长城的经历,吐槽长城人多等等。

另有一个让我印象深刻的演讲是来自 NASA 的一个女数学家奶奶,她谈论了她当年是怎么加入 NASA 以及工作至退休期间的经历,讨论了那个年代女性在 NASA 的情况,讨论了那个年代女科学家的境地,让我大受震撼。

作为 Scholarship Winner 还有一大好处就是,除了能接触到说中国话的学生开发者之外,还可以接触到来自世界各地的 Scholarship Winner,由于所有 Winner 住在圣何塞州立大学的宿舍里,我去的那年 350 个 Winner 中大概只有15个是来自大陆,同时黄皮肤的面孔不超过30个,意味着活动中有大量的时间我需要与母语不是中文的人交流。

比如我的室友就来自俄罗斯🇷🇺,他大四在读,我们用散装英语交流了很多东西,他的作品是用 playgrounds 模拟 Metal(?我到现在也没懂这怎么做的😅),他的计算机基础踏实的一塌糊涂,聊天的时候我就像被面试一样,绞尽脑汁地想他到底在说啥。还有一位意大利小哥🇮🇹一看我这是亚洲人面孔,就凑上来问我们是哪里人,问我是不是中国人,问我来自上海嘛,在得到一系列肯定的答复后他说他去同济大学交流过一段时间,然后他突然很想告诉我他是哪个校区,然后我们开始一起苦思冥想同济大学除了四平路还有在哪的校区,想了半天没想出来,意大利小哥也不尴尬,和我面面相觑地走了一路,最后挥手道别😂。

在 WWDC 期间的会场外,也会有很多的 tech talk 在附近举办(蹭 WWDC 热度),我误打误撞参加了一个 Realm 举办的 tech talk。一开始先是吹了一波 Realm,然后是邀请了一些从 Apple 离职的人来做对话,结果发现请到了 Chris Lattner(当时就职于特斯拉)。大家伙那叫一个激动啊, 连下面的好多爷爷辈的听众都提了好几个问题(真的爷爷辈👨‍🦳,拄拐杖的,不开玩笑),只能感叹一下计算机技术这该死的魅力。

另外 WWDC 的倒数第二天有个 Bash,算是一场露天音乐会,气氛很热烈!来的是 Fall Out Boy(代表作有”The Phoenix”,”Immortals”等,现场太顶了),大家在现场把酒言欢,给 WWDC 收了个尾。在 Bash 现场还和来自国内各大互联网公司的工程师们合影了,不知道各位看官有没有在照片里面的。

在 WWDC 玩的这几天拓宽了我看待技术的视野,把我从学校里教的那些知识里面拉了出来,在会场的内外,看到了更多与业界发展相关的东西,看到了计算机科学的广度和深度。我本科就读于魔都某不知名二本,且不是工科强校,所以我的学校计算机专业水平比起其他获得奖学金的同学的学校来说(我记得有中大、同济、新国大、中科大、港大等🙂)差的不是一点半点,无意贬低我的母校。但确实这次的经历让我觉得我能努力的地方原来还有这么多,我在学校所认识到的那些知识似乎只是计算机科学的冰山一角,突然在心中对一些东西产生了渴望,让我突然对未来感到期待和兴奋,在这些经历和感受一起冲击我心灵之后,我知道了一件事:我掉进代码这个陷阱里了🥰。

听说你还在上海科技馆和 Apple 供应链工厂等场合进行过一些线下演讲,这是一种什么体验?

由于在学校参加的 iOS Club 与 Apple 有一些方面的交流和合作,所以也参加了一些特别的活动,例如在夏天的时候去上海科技馆免费给小朋友上编程课,就是用上文提到过的 Playgrounds 这个 App,也给科技馆的小朋友分享参加 WWDC 的经历(同时我也发现,现在的10岁左右小朋友有编程经历的真不少)。除小朋友外,我还作为助教参加过给 Apple 供应链工厂的 Swift 教学活动,用一个月的时间让一点代码都不懂的工厂员工通过学习实践之后,能够自行开发一个简单的 iOS App。另外我还受邀参加香港教与学博览会分享 playgroundbook 的制作经验,向参观者介绍 Playgrounds 这个 app 作为教学工具的一些优点等等。这些交流的经验带给了我从别的角度看待 Swift 以及 iOS 开发的机会,在准备教学教案这些东西的时候,不可避免地会去研究和比较别的语言、别的技术、别的生态是怎么样的😵,让我了解了一些跨平台技术,对客户端开发多了一点理解。

除了这些技术方面的感悟,这些经历带给我了更多情感上的震撼,比如有位10岁小朋友学过了python、c++等等语言,对编程思想也理解的很到位,而且为人很谦虚,还会帮助别的小朋友理解代码;还比如在工厂中我们作为老师教那些20多岁、30多岁、甚至40多岁的员工写代码,而他们就像是科技馆的小朋友一样,对代码一无所知然后带着好奇和热切的眼神来上课,并且当做不出作业时会很羞愧,这些经历会让我感觉到:诶好像这个世界不是我以为的那个世界这种感觉,我没想到有这么多人在推动编程教育、我没想到这么多人对编程这么大的兴趣、我也没想到学编程对一些小孩子来说是一种消遣、我更没想到多会那么一点点编程能改变一个人的发展。根据给我们的反馈,有一小部分上过我们课的工厂员工由于在编程课的表现很好,被“挖”到了工厂的技术部门,从此工作的地点从流水线换到了办公室🤑。

能分享下你的学习历程以及保持学习热情的一些方法吗?

我想我的答案可能和大家想象的很不一样。在校的时候,我是在我社团的推动下成长的,我参加了很多活动、比赛,几乎都是和 iOS 有关的,这些都是是我的社团带给我的资源和推动,比如去参加移动应用创新赛(Apple 赞助)的期间,我学了 ARKit、CoreML、SceneKit、SpriteKit 等等,了解了很多较冷门的 iOS 技术,了解了隐私政策、了解了怎么上架一个 app、以及审核的诸多事项,我的比赛或者活动需要什么我就去学什么,当然这没有什么不好的,没有这些推动我的话我肯定窝在寝室打 dota(嘿嘿👍)。

但至于其他方面的知识?额我懂得很少,记得有次有个评委发现我的 app 里内存泄漏导致 crash 了,他问我为什么 crash 了,我答不出来;记得大四我去面试的第一家实习是英x流x说✍️,面试官和我说他们以前也有一个奖学金的 winner 实习生,表达的意思就是对我蛮期待的,但是后面的面试让他大跌眼镜,我对这次面试印象很深刻,我从第一个问题开始,没有一个问题是答对的(不夸张),答得面试官都有点怀疑人生,他的眼神像是在问我是不是来砸场子的,我对面试的这些内容算是一点都不懂,当时很难受,也很后悔,后悔第一次面试就去了最想去的公司。再之后经过了准备之后换了一家公司得到了 offer,所以在那段时间,促使我学习的是那种落差感,是那种想要再证明自己的不甘。再往后我去考研了然后技不如人没考上,那段时间更焦虑了,会一直督促自己去学习,所以其实失败才是我源源不断学习动力的源泉,也希望在今后的成长道路上,失败不会成我唯一的学习动力👨‍💻。

有什么想借助摸鱼周报宣传的?

明年计划换工作了,想去大厂被资本家摧残🤡,坐标上海,邮箱:mim0sa@qq.com,欢迎各位老板骚扰。

也希望大家多关注 iOS 摸鱼周报,如果有好的建议和意见快来告诉我们。

人物访谈 | 一位研究生的iOS之路

人物访谈 | 一位研究生的iOS之路

本期访谈对象是摸鱼周报的主编之一:反向抽烟。他还在读研,因为名字里带个尧字,我们都叫他尧兄。尧兄有一个博客:https://blog.csdn.net/opooc ,分享自己的学习记录,大家有兴趣可以看下。

zhangferry:简单介绍下自己,再讲一下最近的状态吧。

大家好,首先感谢飞哥的采访。网名叫反向抽烟,是一名研二在读的大学生,也是 iOS成长之路群的早期用户。目前在做计算机视觉方向学习,一方面对这个领域比较感兴趣,另一方面也是为了毕业设计。在学校的状态一般,强度不大,还是比较随意的。

zhangferry:你之前在网易实习,后来又回到了校园,为啥结束了实习?对比校园和职场这两种不同的环境,能分享下你的感受吗?

导师给我安排了一些任务,要结束实习工作,所以才回来的。其实我自己不想结束实习,还是挺想上班的。大家一起共事,一起努力完成工作,那种氛围,我还是挺喜欢的。

时间和精力上的分配不太一样,实习更多的是输出吧,校园自由一些,输入会多一些。

zhangferry:你接触过的技术方向挺多的,算法、Java、iOS、计算机视觉等,你在选择或者更换技术方向时一般如何做权衡呢?

这些方向的本质是没有什么区别,都是为了解决问题,后端也好,前端也好,我觉得都是值得学一下的,毕竟打工嘛,还是得提高自身价值,。

zhangferry:尧兄啃过很多本书,能推荐一个对自己影响最大的一本书,简单介绍下吗

书的话没有看很多,飞哥既然给面了,那我就推荐一本课外读物《狼的智慧》,强者恒强,适者生存。

备注:尧兄真的是在啃书,有一张之前群里发的图片为证:

再附一张他推荐过的书目名单:

zhangferry:对于学习这件事,你是如何保持热情的?感觉你对学习是沉迷的。可以推荐一些你的学习方法吗?

对我而言应该就是兴趣吧,如果对一样技术的态度是为了完成任务而学习,我大概率完成不好。但如果是自主的学习过程中,我有了一些自己的想法,就会竭尽全力的去弄懂。所以主动而非被动,会让学习这件事更有趣味性。

学习方法的话,分两个角度吧,一是学习一定得是刻意的,要拿出时间来经常练习的,这个没有捷径;第二是对于新东西要先用起来,再去研究原理,边用边学,这样效率会高一些。

zhangferry:你经历过不少大厂的 iOS 面试,实习面试时考察侧重点是什么样的?对正在找实习工作的同学有什么建议吗?

实习面试重点还是在考察基础,有四个部分:算法基础 + 计算机基础 + iOS基础 + 项目/实习。算法是最基本的一项,一般每一面都会问到;计算机基础一般是在一面进行考察;项目/实习一般是在二面/三面进行考察。

准备的话:

1.算法最好有个 300 的题量,一定要在面试前保持题感。

2.计算机基础中考察有计算机网络、编译原理、操作系统、数据结构,网络和操作系统基本是必考,这一部分还是需要花时间理解的,建议平时多花时间钻研下,只背面经是经不住问的。

3.iOS基础准备起来还是有章可循的,推荐看 mj 老师的底层视频和慕课网的 iOS 大牛面试视频,最后把不理解的点做好笔记,及时请教。

4.项目/实习有一样就可以,要是准备项目的话,可以把自己的以前写过的项目进行一些优化,做好总结,把写了简历上的点,都一定要弄明白。

实习面试看公司或者部门,有的公司要实习生去干活,就考 iOS 多一些,有的是为了培养转正,就要求基础牢实一些。主要还是凡事提前准备吧,多往前看几步,早做准备。

zhangferry:最近有什么新的感想或心得跟我们分享吗?

程序员这个行业其实是与社会关系脱节的,它不是那种社会性质的工作,会经常和人打交道。技术肯定要有的,毕竟是门手艺活,得靠它吃饭,但技术只是一个最最基本的层面,政治书上说了,人的本质是一切社会关系的总和,所以大家还是要多多搞好社会关系,这样人生路才会更宽广,走的更顺畅。(仅为个人观点)

人物访谈 | 微软Offer之路

人物访谈 | 微软Offer之路

本期访谈人物是张安宇,他是 #Swift社区 公众号的负责人,最近换工作接了微软(苏州)的 Offer,11月底入职,目前正在爽爽的休假。咱们拉他过来聊聊关于面试微软的经历。

zhangferry:简单介绍下自己吧。

大家好,我是 #Swift社区 公众号的负责人,我叫张安宇,很高兴被摸鱼周报邀请来参加这期访谈,我是摸鱼周报的读者,经常看摸鱼周报的文章。

我是一个换工作非常频繁的人,平均每家公司工作 1-2 年甚至更短,比如搜狐和掌阅科技,兄弟们常常因为这个取笑我。关于这个问题我没有特别多的看法,找工作的过程中也没有因为这些受到伤害或者阻挠,相反每次换工作都还挺顺利,大部分情况下是能够受到用人单位的尊重的。

在饿了么工作的时间稍长一些,我在饿了么的蜂鸟团队和北京的前端组主导完成过饿了么入淘的第一个项目叫做蜂鸟商城,同时还负责给我们物流团队的几个 App 统一接入淘宝的浏览器框架 Windvane

我喜欢玩游戏、看书、看电影,偶尔运动,很喜欢交朋友。平时我跟展菲一起维护我们的这个公众号,还有一些技术群。我们会定期分享一些 Swift 社区动态和相关的资讯,欢迎大家的关注。

zhangferry:能简单说下你是如何准备微软的面试的吗,实际面试过程中有哪些比较重要的记忆点?跟国内其他大厂的 iOS 面试有什么区别?

微软的面试流程非常长,一共有 6 轮,每轮 1 个小时左右,都是技术面。我之前也没有接触过这种面试形式,所以主要依靠 HR 提供的面试考察点,以及自己去了解来的一些信息来准备这场面试。

这里有个小插曲,正常来说每轮面试间隔应该都是一周左右。因为当时还有另外几家公司在同时面试,跟 HR 说想加快进度,结果后面 2 天就安排完了剩余的 5 轮面试。

微软的 HR 会特别详细地向大家说明每一轮面试的主要步骤,我觉得最重要的是进行针对性地准备。微软面试的核心考察点就是 coding 环节,算法在每轮面试都有,如果代码功底不足,建议继续刷题再参加应聘。整体来说,是在能白板编程 + bug free 的前提下,再根据自己多年的工作经验,与面试官交流一些 iOS 方面的通用性技术。

实际面试中,我能够比较从容应对的主要原因是熟练 + 自信。我有 NOIP 与 ACM 的参赛经验,加上面试前认真刷了半个月 Leetcode,基本上遇到题目不会发慌。因为备战仓促的原因,我刷的题目数量也有限,实际面试过程中,也没有遇到最近刷过的原题。好在微软的题目不算太难,毕竟面试时间只有一小时左右,基本上是 mid 难度的题目。在现场编写时我都基本做到了编译通过、结果正确,并且能分析出算法的时间复杂度和空间复杂度。我觉得我这个表现对于微软来说,是最低要求了,如果 coding 不过关,应该也是会得到面试官的 no hire 的。

我想声明一下,微软的面试要求其实不低,并不是说我就凭刷了两周题目(60 题左右)就通过了面试,整个面试过程的考察还是很全面的,算法只是其中一部分。希望大家不要误解这一点,不要黑微软,谢谢大家。

zhangferry:你面过很多国内大厂,在你看来微软跟他们比起来有什么区别呢?

工作了这么多年,我几乎参加过所有公司的面试,确实微软这样的企业与国内很多互联网企业的面试要求、流程、侧重点都不一样。

据我观察,头部的互联网企业,面试大都是以面试题八股文为主,最后结束以前面试官可能会考一下算法题,也可能不会。像字节的话就比较看重算法题,相信这个大家都比我更了解。

微软对于算法能力更看重一些,整个面试过程对于候选人的考察点聚焦在算法题,coding 能力。coding 对应的是现场写代码,比如手写 GCD 代码,实现一个多线程的需求。还会有一些相对开放的题目,比如问是否关注过最近的 WWDC,苹果的一些最新特性是什么;如果实现一个词云功能有什么思路,中英文如何分词等等。

zhangferry:你应该通过了多家互联网公司的面试,为什么最终选择了微软,而且还要从北京搬到苏州?

这个并没有特别多,我是收到微软面试的邀请以后决定离职,因为刷题需要付出很多精力与时间,我曾戏谑说,我备战高考时也不曾如此认真,哈哈。

确实除了微软以外,还有其他公司也在接触,基本都聊的很愉快很顺利,但是不多。我没怎么主动投递自己的简历,甚至简历都没来得及更新,从离职到 Offer 大约两周时间,对于这么密集的面试流程来说,时间是非常仓促的,所以也不能说难度不大。

为了这 6 轮面试,我腾不开时间鸽掉了一些公司,有一家公司我鸽了两次……我怀疑我已经被这些公司屏蔽拉黑了,但我也没办法哈哈。

选择微软的原因,我觉得应该是目标职位的匹配程度比较高,还有微软给出的薪资待遇足够慷慨大方。入职的是 Edge 部门,我说过我喜欢前端技术,也喜欢浏览器内核研发相关的领域,我希望这份工作能够让我继续成长突破自己。

在接受 Offer 的过程中,我坦言过自己可以接受落差,因为我没去过微软,所以对微软所有的了解只能来自于想象与道听途说。希望我的苏州之旅,能够真正让我了解到这家公司,也很乐意在朋友圈与朋友们继续分享我的成长路程与心得体会。

为什么愿意去苏州,这个话题比较沉重。我是特别舍不得北京的,最开始我拒绝过一次微软的面试邀请,也是因为微软在北京没有 iOS 职位的原因。最后愿意去苏州,说实话也是对北京这个城市很多地方感到不太满意。

北京是好,但在北京的这些年,真的没有太多归属感,永远在内心里把自己当做低人一等的外地人。所以搬家去苏州对我来说也没那么难受,毕竟我在北京没有根,我自嘲我这种没有根的人,也是很洒脱的,我想去哪里就去哪里。值得一提的是,微软因为这个给了我搬家费,还不少,令我挺感动的。
我很庆幸微软的 HR 都特别大度,没有把我之前拒绝面试这件事放心里,后来很快就给我重新安排了面试,并且也很热心的提供了很多资料给我。

zhangferry:能否简单介绍下已知的微软工作环境、入职的部门?对于英语是否有特殊要求,有没有英文的面试?在你看来微软更喜欢招什么样的人?

据我了解,微软的工作环境非常的好,不管是苏州的研发中心,还是北京的总部。我入职的部门是 Edge 团队,我听说 Bing App 即将与 Edge App 合并,希望这件事不会对我的 Offer 有什么影响,哈哈哈。

Edge 是微软自研的浏览器,我相信很多人都知道,Edge 除了 Windows 客户端以外还有 Mac 和 iOS 端,当然也有 Android 端。据我了解,我应该可以去这个团队学习一些比较深入的浏览器内核技术,以及一些 C++ 技术。我希望我以后能成为这方面的大牛,哈哈。

英语的话,当然是要能够日常交流,起码阅读、发 email 能做到没有障碍吧我觉得。面试过程中,我没有遇到说英文的面试官,但是不排除别人不会遇到哈,毕竟微软是一家跨国企业。

我觉得微软喜欢招什么样的人?哈哈这个问题太大了,不过了解我的知道我这个人很狂我也没啥不敢讲的话,我觉得微软应该喜欢招天才进来,真正的天才。不是我自诩天才,是我觉得微软公司配吸引天才们加入这里,一起去实现改变世界的想法,真的。

zhangferry:对于正在面试和即将面试的人有什么好的建议?

据我了解我有个师弟也在面试微软,他比我优秀多了,我认为他没有问题,他应该刚从中科院读完硕士,在我眼里属于学霸,我认为他进入微软没有太大问题,加油。

对于即将面试的人有什么建议的话,我觉得真的比较简单,那就是调整好心态,认真刻苦复习算法与数据结构,这是一块特别有针对性的领域。

你面试其他公司可能还需要复习一下编译原理之类的,但是对于微软的面试流程,对于 coding 环节来说,我认为就可以不用再额外付出时间精力去复习这些。目标性非常强,所以很容易成功。祝愿和希望更多优秀的人才加入微软和我做同事,哈哈。

zhangferry:有什么想借助于摸鱼周报宣传的。

当然是替微软招人啦。虽然我目前还没入职,还是想借此机会,替微软的 HR 宣传一下,微软苏州研发中心,大量 HC 期待大家加入。前端、后端、全栈、算法、Data Scientist 都需要,感兴趣的可以投递简历到:a-huili@Microsoft.com

也希望没有关注过 #Swift社区 公众号的朋友,能点个关注,支持一下我的事业,谢谢大家。

zhangferry:你经常在朋友圈发不少长文,最近肯定也有不少生活或者工作的感悟吧,可以给我们分享一下。

当然有,最近有很多兄弟说被我的精神感动了,说我怎么说到做到,说刷题就刷题,说换工作就换工作呢,每天还刷到后半夜,太励志了。

我想了一下,可能也是有那么点励志吧,哈哈。人生需要目标,需要理想,需要榜样,看着别人奋斗你也能被感染与鼓舞的,我觉得这就是力量,让生命变得更加精彩的力量。

我在朋友圈编过一句鸡汤,我说“我喜欢光,我追寻光,同时我也想成为光”。我觉得大概就是这个意思吧,好的气质,互相吸引互相鼓舞,这是很难能可贵的事。不过鸡汤喝多了会腻,在身边找一个真正的榜样,向他看齐,脚踏实地的前进,时间久了你可能会发现已经与他并肩而行了。

我就有很多技术偶像和技术榜样,我很荣幸他们大部分都通过了我的好友申请,特别开心。希望大家都能找到自己的榜样。

如果大家不嫌弃想认识我的话,可以通过飞哥找到我,我这个人真的很爱交朋友,哈哈,兄弟们都说我有社交牛逼症……

再次感谢飞哥的邀请,参加这期摸鱼周报的访谈,谢谢。