脱产在家自学 iOS 开发半年多,瞅着再不出来就得猫过年了,拉钩投了 2 、 3 个星期,没想到大受打击。面试机会寥寥无几,投实习人家又只要应届在校生,还得计算机相关专业。
自己半路出家也知道和科班出身的差距,学 iOS 时会去深究 runtime 底层实现原理、内存管理细节等,毕竟不愿意以后让人说只会拖控件,也在一点点补计算机原理和算法,但这些都不是一朝一夕能成的事儿。所以求一份我这个层次还能够胜任的初级开发工作!
项目经验除了一些 demo 暂时只有一个模仿“简书”的客户端,实现简单浏览功能,没找到官方的 API ,用的是直接解析 HTML ,实现得比较粗糙。
Github 地址:模仿“简书”客户端
效果图差不多这样:
目前自己的简历除了个人基本描述、 github 链接外就只有下边这些文字,然后就没了,感觉十分苍白。没有企业开发经验,自然不可能有诸如后端大神“多少周完成项目上线,扛住多少并发数”这类吸引人的描述,想把 APP 是怎么实现的写进去,又觉得都是基础,会不会让人觉得是在自卖自夸?所以求指导没有企业工程经验的新人该如何润色简历,使其看起来饱满点(菜得委婉点>_<)?
- 熟悉 Objective-C 语言,熟悉 Cocoa Touch 框架;
- 熟悉基于代码的 UI 搭建,亦能灵活配合使用 XIB 、 Storyboard ;
- 熟悉 AutoLayout 自动布局;
- 熟悉 ARC 内存管理机制;
- 熟悉 MVC , Delegate , Block ,单例等常见模式;
- 熟悉 CocoaPods 、 Git 等第三方辅助工具的使用;
- 了解 Runtime 运行期环境;
- 了解 Quartz2D 引擎的简单运用;
- 了解固化、 CoreData 等持久化存储方式;
- 了解 GCD 大中枢派发多线程编程;
- 了解 HTTP 网络编程。
自己目前的水平处于只能写个简陋的新闻类客户端、顶多一个新浪微博客户端这样,想提高却不知道该往哪个方向。比如网络方面现在还只局限于应用层,是不是得去学传输层那一块 socket 编程?还是多媒体方向? Quartz 引擎之类?当然也知道每个都懂些最好,书是各个细分领域都买了,一时半会啃不下多少,只能挑着来。求教常见的企业需要哪些技能?
3K。够吃饭就成,求拍晕拖走!这两天看了站上的帖子才知道 iOS 现在的局势,危机感倍增。刚学那会儿明明还好,变化太快,都不知道该说点什么好。当然自己当初也不是单单因为薪酬才进入这行,也是因为自己确实对这行有兴趣,能在代码过程中体验到成就感,给自己定的目标是两年内能在 github 上能有个 star 数过千还有人愿意用的小轮子(若定高了求轻拍,有个目标总归是没错,万一实现了呢~ ),所以也没打算转行。就是希望能有这样一个机会。也希望 HR 能先不急着下定论这个人就是来公司刷经验的,待不久的,对自己不自信没啥实力的,然后就直接给 pass 掉,虽然确实不怎么自信,但新人谁不想能够快速成长不是,自认为不算是个浮躁不踏实的人,所以如果刚好有需要,还请能随手转发一个给用人部门,留个机会。>_<
1
bubblebubble 2015-12-22 19:47:32 +08:00 via Android
跟楼主很像,感觉年底机会好少……
|
2
CodeMozart 2015-12-22 21:00:42 +08:00
两年 star 数过千……要是真能实现,楼主那时绝对被各个公司疯抢
加油! |
3
coa OP @bubblebubble 是啊,而且 iOS 好像突然间竞争变得特别大,看那个半个月上千份简历的帖子吓尿了,像我这样的简历有可能连被看到的机会都没有。。无比心塞。。。
|
4
coa OP @CodeMozart 看来是定高了。。。但会努力的!!
|
5
coa OP @bubblebubble 居然是学 Android 的妹纸!!先敬一个再 follow ~~
|
6
xiaxiang 2015-12-22 23:53:10 +08:00
这个项目完全自己做的,不参考其他资料?
|
7
withablink 2015-12-23 00:34:39 +08:00
楼主在哪个区?
|
8
Fleeting 2015-12-23 01:35:45 +08:00 via Android
和楼主经历相似!不过我是 Android ,也在寨都,
|
9
devilfun 2015-12-23 02:02:44 +08:00 via Android
一样的经历,不过我在西安,找不到工作
|
10
coa OP @xiaxiang 参考其他资料指的是?
指的是翻书和 google 的话,这个无法避免啊,刚入门写点啥都是磕磕碰碰反复咀嚼的过程,实在做不到一气呵成 0 错误 0 警告。 还是指借鉴其他代码?有一个 startView 是参考 Coding 客户端的,其它基本是自己琢磨写的。当然用到好些第三方库,有修改或填掉一些小坑都有注明,原作者信息也完全保留,没有大段代码照搬的情况。 如果是指像新浪微博那样网上有不少完整项目,自己参考着写一个这样,这个没有。貌似没怎么看到仿简书客户端的,自己经常上简书,所以就试着仿一个。抓包官方客户端发现 API 有验证绕不过,就直接解析 HTML ;提取、删减 HTML 内容需要正则匹配,就去学正则;未实现的 tab 原本想放一个空白页面,想着还是像官方那样留在原页面再弹出警示框心里舒服点,就去翻官方文档相关内容,看有啥方法能实现;“更多”标签用的是第三方库,原库是类似微博下拉气泡弹框,有一个向上的箭头,自己放下边用不到就去修改原库去掉箭头的绘制代码……基本都是这样一个边琢磨边解决磕磕碰碰的过程。 话说把这些整理下放进简历的项目描述有没有用? =_= |
11
coa OP @withablink 龙岗。刚过来深圳不久,暂时借住在别人处,等稳定下来再考虑挪地。
|
13
withablink 2015-12-23 11:51:43 +08:00
@coa 我在南山蛇口。留个联系方式,见面聊聊,我出路费,哈哈。对前后端有了解吗?
|
14
colinlet 2015-12-23 12:07:45 +08:00
iOS 已经烂成这样了, 3K 白菜价。
|
15
coa OP @withablink 企鹅:六 86 三四三 45 。后端不懂,虽然也一直想学个 python 做点小玩具啥的,但目前光为学 Objective-C 都嫌时间不够。前端就了解点 HTML 基础知识怕是连皮毛都算不上。好像现在换前端火爆了,层主别怂恿,咱还是想踏实跟着 iOS 的。。>_<
|
17
withablink 2015-12-23 12:58:37 +08:00
@coa 纯 iOS 也行。已加你马化腾。
|
18
funCoder 2015-12-23 14:11:05 +08:00
从 iOS Developer Library 看英文文档学 swift2.1 和 iOS9 的在校生表示压力好大,不久就要春招了。
|
20
JohnShaw 2015-12-23 14:52:16 +08:00
大中枢派发。。。噗,又一个看那本奇葩翻译的 Effective ObjC
|
22
JohnShaw 2015-12-23 15:49:08 +08:00
@coa 并没有黑,这本书和另一本 Objective C 高级编程是我经常推荐给新手的书。但是看英文版吧同学,中文翻译不忍直视。把 GCD 翻译成大中枢派发, retain cycle 翻译成保留环,实在是....
|
24
jswxcyq 2015-12-23 20:55:43 +08:00
楼主加油。同自学 iOS ,不知道明年能不能找到工作。。。
|
26
Madeline 2015-12-23 22:04:17 +08:00 1
你还在关注如何实现功能,这是远远不够的。培训机构速成也可以具备你列出的技能表。
关键还是要关注程序架构方面的思想,多多学习开源的框架。 我扫了一眼你的项目,发现了几个问题, 1. 首先目录结构很乱,没有按模块分 folder 来管理 2. 程序里很多 view 和 controller 没有分开管理, 3. 有的分开了,比如 loginview ,但是你纯碎只是吧 view 创建的代码抽出去新的类里,然后吧所有 ui 以 property 的形式暴露给 controller ,由 controller 来统一管理,这是错误的。理论上来说 view 只应该暴露 delegate 给 controller 。 event 应该是 view 自己来管理的。 4. 项目中有很多被注释掉的代码。 这个习惯也很差,代码不要应该删掉。 |
27
Madeline 2015-12-23 22:09:57 +08:00 1
我所认为 ios 工程师要具备的基本素养:
1. 写出来的代码别人很容易看懂,并且很容易修改。 2. 需求快速变动时,能根据需求快速调整架构,但代码质量不会因此变差,只能保持不变或者通过局部重构变得比之前更好。 3. 能够设计一套鲁棒的缓存架构。什么时候缓存,什么时候释放,缓存哪些东西, 4. 有能力设计基于 collectionview flow layout 设计复杂的 UI ,并且保证流畅。 5. 对各种操作的开销有深入的了解 老实说,我招过不下十个 ios ,工作经验 1~3 年,薪水 10-20K 。 但最终证明能满足 1 , 2 条的都没有…… |
28
loveuqian 2015-12-23 22:40:44 +08:00 via iPhone
@withablink
请问你们找 iOS ? |
29
anthonyeef 2015-12-23 22:48:43 +08:00
看到你说你用正则解析 HTML ,歪个楼:
'You can't parse [X]HTML with regex. Because HTML can't be parsed by regex. Regex is not a tool that can be used to correctly parse HTML. ' 地址在这里: http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 |
30
withablink 2015-12-23 22:51:54 +08:00
@loveuqian 目前对于 iOS/安卓 /后端 /前端 /windows 开发 都有需求...
|
31
loveuqian 2015-12-23 22:54:04 +08:00 via iPhone
|
32
withablink 2015-12-23 22:57:39 +08:00
@loveuqian 我跟楼主约了明天下午。你可以周末来聊聊,欢迎。
|
33
loveuqian 2015-12-23 23:08:17 +08:00 via iPhone
@withablink
帐号是我微信^_^ |
34
coa OP @Madeline 非常感谢指点!
1.这个确实是问题,以后改正。 2.3.这点刷新了对 MVC 的认识啊,原先以为 View 就只是静悄悄的放那,所有动作都由 controller 来,这么一说倒确实觉得事件以 delegate 引出来更合理。其他未分离管理的 View 和 controller 能帮忙指出一两个吗?确实能感觉有些 View 单独拿出来没法给其他 controller 用,但细看好像代码是放两边啊,想再抽取无从下手。就着具体实例再琢磨琢磨看看能不能捋出点头绪。 4.这个可能是因为新手,做点改动又怕行不通还得倒回去,而且也是把注释当学习笔记用了,以后尽量注意。 关注架构方面用不用学设计模式?先前 iOS 刚学了一点就取瞄了几眼那本 21 种设计模式和一本 iOS 相关的设计模式,一头雾水,感觉离自己很远。学习开源框架记下。 基本素养已记上小本本,先以第二为目标慢慢努力靠近。 再次表示感谢! |
35
coa OP @anthonyeef 水平有限,看不大懂,是不是 HTML 的某些格式特征不能用正则,得不到预期结果,所以使用正则来解析 HTML 不被建议?用得很少,侥幸没触发提问者遇到的坑。>_< 有啥其他好的替代方法吗?
|
36
anthonyeef 2015-12-24 09:37:55 +08:00 via Android
@coa 这个回答的意思是说,不要用正则去处理 HTML ,因为正则不是为了处理 HTML 而设计的。
你自己实验过,也应该可以感受到有多麻烦吧。 我自己的感觉是,一定要用正则的话是可以办到的。但感觉非常麻烦。 |
37
Madeline 2015-12-24 09:56:36 +08:00
@coa 举个简单的栗子。
uitabview, 有没有让 controller 去处理 scrollview didscroll 事件? 有没有让 controller 实现可视区域的计算? 没有, uitableview 内部已经 handle 了最基本的这些 event , 只通过 data source 从 controller 拿数据,通过 delegate 通知 controller ,那几个可能感兴趣的事件发生, didselectrows 之类。 所以真的不需要看啥设计模式,懂基本概念就行了,多学习优秀的开源框架,多感受 ios 自身的框架的设计。就能提高。 架构讲究 best practice 这玩意儿一般书上是没有的。 |
38
coa OP @anthonyeef 原来如此。眼界有限,暂时没找到其他好方法,麻烦也得上了。。。
|