[深圳]寨都求 iOS 初级开发,并请大家指点未来方向 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
coa
V2EX    求职

[深圳]寨都求 iOS 初级开发,并请大家指点未来方向

  •  
  •   coa 2015-12-22 18:28:46 +08:00 4137 次点击
    这是一个创建于 3594 天前的主题,其中的信息可能已经有所发展或是发生改变。

    [深圳]寨都求 iOS 初级开发,并请大家指点未来方向

    脱产在家自学 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 网络编程。
    未来方向 iOS 进阶提升求指导

    自己目前的水平处于只能写个简陋的新闻类客户端、顶多一个新浪微博客户端这样,想提高却不知道该往哪个方向。比如网络方面现在还只局限于应用层,是不是得去学传输层那一块 socket 编程?还是多媒体方向? Quartz 引擎之类?当然也知道每个都懂些最好,书是各个细分领域都买了,一时半会啃不下多少,只能挑着来。求教常见的企业需要哪些技能?

    期待薪酬

    3K。够吃饭就成,求拍晕拖走!这两天看了站上的帖子才知道 iOS 现在的局势,危机感倍增。刚学那会儿明明还好,变化太快,都不知道该说点什么好。当然自己当初也不是单单因为薪酬才进入这行,也是因为自己确实对这行有兴趣,能在代码过程中体验到成就感,给自己定的目标是两年内能在 github 上能有个 star 数过千还有人愿意用的小轮子(若定高了求轻拍,有个目标总归是没错,万一实现了呢~ ),所以也没打算转行。就是希望能有这样一个机会。也希望 HR 能先不急着下定论这个人就是来公司刷经验的,待不久的,对自己不自信没啥实力的,然后就直接给 pass 掉,虽然确实不怎么自信,但新人谁不想能够快速成长不是,自认为不算是个浮躁不踏实的人,所以如果刚好有需要,还请能随手转发一个给用人部门,留个机会。>_<

    39 条回复    2015-12-24 12:05:54 +08:00
    bubblebubble
        1
    bubblebubble  
       2015-12-22 19:47:32 +08:00 via Android
    跟楼主很像,感觉年底机会好少……
    CodeMozart
        2
    CodeMozart  
       2015-12-22 21:00:42 +08:00
    两年 star 数过千……要是真能实现,楼主那时绝对被各个公司疯抢
    加油!
    coa
        3
    coa  
    OP
       2015-12-22 21:32:00 +08:00
    @bubblebubble 是啊,而且 iOS 好像突然间竞争变得特别大,看那个半个月上千份简历的帖子吓尿了,像我这样的简历有可能连被看到的机会都没有。。无比心塞。。。
    coa
        4
    coa  
    OP
       2015-12-22 21:32:54 +08:00
    @CodeMozart 看来是定高了。。。但会努力的!!
    coa
        5
    coa  
    OP
       2015-12-22 21:40:31 +08:00
    @bubblebubble 居然是学 Android 的妹纸!!先敬一个再 follow ~~
    xixiang
        6
    xiaxiang  
       2015-12-22 23:53:10 +08:00
    这个项目完全自己做的,不参考其他资料?
    withablink
        7
    withablink  
       2015-12-23 00:34:39 +08:00
    楼主在哪个区?
    Fleeting
        8
    Fleeting  
       2015-12-23 01:35:45 +08:00 via Android
    和楼主经历相似!不过我是 Android ,也在寨都,
    devilfun
        9
    devilfun  
       2015-12-23 02:02:44 +08:00 via Android
    一样的经历,不过我在西安,找不到工作
    coa
        10
    coa  
    OP
       2015-12-23 11:26:23 +08:00
    @xiaxiang 参考其他资料指的是?

    指的是翻书和 google 的话,这个无法避免啊,刚入门写点啥都是磕磕碰碰反复咀嚼的过程,实在做不到一气呵成 0 错误 0 警告。

    还是指借鉴其他代码?有一个 startView 是参考 Coding 客户端的,其它基本是自己琢磨写的。当然用到好些第三方库,有修改或填掉一些小坑都有注明,原作者信息也完全保留,没有大段代码照搬的情况。

    如果是指像新浪微博那样网上有不少完整项目,自己参考着写一个这样,这个没有。貌似没怎么看到仿简书客户端的,自己经常上简书,所以就试着仿一个。抓包官方客户端发现 API 有验证绕不过,就直接解析 HTML ;提取、删减 HTML 内容需要正则匹配,就去学正则;未实现的 tab 原本想放一个空白页面,想着还是像官方那样留在原页面再弹出警示框心里舒服点,就去翻官方文档相关内容,看有啥方法能实现;“更多”标签用的是第三方库,原库是类似微博下拉气泡弹框,有一个向上的箭头,自己放下边用不到就去修改原库去掉箭头的绘制代码……基本都是这样一个边琢磨边解决磕磕碰碰的过程。

    话说把这些整理下放进简历的项目描述有没有用? =_=
    coa
        11
    coa  
    OP
       2015-12-23 11:30:15 +08:00
    @withablink 龙岗。刚过来深圳不久,暂时借住在别人处,等稳定下来再考虑挪地。
    coa
        12
    coa  
    OP
       2015-12-23 11:31:43 +08:00
    @Fleeting @devilfun 唉,而且又是年底,压力特别大。
    withablink
        13
    withablink  
       2015-12-23 11:51:43 +08:00
    @coa 我在南山蛇口。留个联系方式,见面聊聊,我出路费,哈哈。对前后端有了解吗?
    colinlet
        14
    colinlet  
       2015-12-23 12:07:45 +08:00
    iOS 已经烂成这样了, 3K 白菜价。
    coa
        15
    coa  
    OP
       2015-12-23 12:20:35 +08:00
    @withablink 企鹅:六 86 三四三 45 。后端不懂,虽然也一直想学个 python 做点小玩具啥的,但目前光为学 Objective-C 都嫌时间不够。前端就了解点 HTML 基础知识怕是连皮毛都算不上。好像现在换前端火爆了,层主别怂恿,咱还是想踏实跟着 iOS 的。。>_<
    coa
        16
    coa  
    OP
       2015-12-23 12:22:43 +08:00
    @colinlet 唉,都是泪。
    withablink
        17
    withablink  
       2015-12-23 12:58:37 +08:00
    @coa 纯 iOS 也行。已加你马化腾。
    funCoder
        18
    funCoder  
       2015-12-23 14:11:05 +08:00
    从 iOS Developer Library 看英文文档学 swift2.1 和 iOS9 的在校生表示压力好大,不久就要春招了。
    coa
        19
    coa  
    OP
       2015-12-23 14:48:45 +08:00
    @funCoder 应届生说不定反而机会更大啊,找个实习什么的企业反而愿意给,科班出生就更好了,计算机素养扎实。
    JohnShaw
        20
    JohnShaw  
       2015-12-23 14:52:16 +08:00
    大中枢派发。。。噗,又一个看那本奇葩翻译的 Effective ObjC
    coa
        21
    coa  
    OP
       2015-12-23 14:59:15 +08:00
    @JohnShaw 额,私以为这是一本相当棒的书,搞懂了不少东西,时不时总会拿出来翻翻。求不黑它。
    JohnShaw
        22
    JohnShaw  
       2015-12-23 15:49:08 +08:00
    @coa 并没有黑,这本书和另一本 Objective C 高级编程是我经常推荐给新手的书。但是看英文版吧同学,中文翻译不忍直视。把 GCD 翻译成大中枢派发, retain cycle 翻译成保留环,实在是....
    coa
        23
    coa  
    OP
       2015-12-23 18:30:56 +08:00
    @JohnShaw 0.0 大中枢派发自己偶尔也觉得别扭,但保留环这个在脑海中一点违和感也没有!果然一旦接受了这种设定……
    jswxcyq
        24
    jswxcyq  
       2015-12-23 20:55:43 +08:00
    楼主加油。同自学 iOS ,不知道明年能不能找到工作。。。
    coa
        25
    coa  
    OP
       2015-12-23 21:58:52 +08:00
    @jswxcyq 共勉~ 年后应该好点,不过大形势估计不乐观。。。
    Madeline
        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. 项目中有很多被注释掉的代码。 这个习惯也很差,代码不要应该删掉。
    Madeline
        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 条的都没有……
    loveuqian
        28
    loveuqian  
       2015-12-23 22:40:44 +08:00 via iPhone
    @withablink
    请问你们找 iOS ?
    anthonyeef
        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
    withablink
        30
    withablink  
       2015-12-23 22:51:54 +08:00
    @loveuqian 目前对于 iOS/安卓 /后端 /前端 /windows 开发 都有需求...
    loveuqian
        31
    loveuqian  
       2015-12-23 22:54:04 +08:00 via iPhone
    @withablink
    我也想聊聊
    我在南山
    如果你跟楼主约了周末或者晚上的话
    顺便给楼主点意见,我 iOS
    withablink
        32
    withablink  
       2015-12-23 22:57:39 +08:00
    @loveuqian 我跟楼主约了明天下午。你可以周末来聊聊,欢迎。
    loveuqian
        33
    loveuqian  
       2015-12-23 23:08:17 +08:00 via iPhone
    @withablink
    帐号是我微信^_^
    coa
        34
    coa  
    OP
       2015-12-24 00:50:05 +08:00
    @Madeline 非常感谢指点!
    1.这个确实是问题,以后改正。
    2.3.这点刷新了对 MVC 的认识啊,原先以为 View 就只是静悄悄的放那,所有动作都由 controller 来,这么一说倒确实觉得事件以 delegate 引出来更合理。其他未分离管理的 View 和 controller 能帮忙指出一两个吗?确实能感觉有些 View 单独拿出来没法给其他 controller 用,但细看好像代码是放两边啊,想再抽取无从下手。就着具体实例再琢磨琢磨看看能不能捋出点头绪。
    4.这个可能是因为新手,做点改动又怕行不通还得倒回去,而且也是把注释当学习笔记用了,以后尽量注意。
    关注架构方面用不用学设计模式?先前 iOS 刚学了一点就取瞄了几眼那本 21 种设计模式和一本 iOS 相关的设计模式,一头雾水,感觉离自己很远。学习开源框架记下。

    基本素养已记上小本本,先以第二为目标慢慢努力靠近。
    再次表示感谢!
    coa
        35
    coa  
    OP
       2015-12-24 00:57:53 +08:00
    @anthonyeef 水平有限,看不大懂,是不是 HTML 的某些格式特征不能用正则,得不到预期结果,所以使用正则来解析 HTML 不被建议?用得很少,侥幸没触发提问者遇到的坑。>_< 有啥其他好的替代方法吗?
    anthonyeef
        36
    anthonyeef  
       2015-12-24 09:37:55 +08:00 via Android
    @coa 这个回答的意思是说,不要用正则去处理 HTML ,因为正则不是为了处理 HTML 而设计的。
    你自己实验过,也应该可以感受到有多麻烦吧。
    我自己的感觉是,一定要用正则的话是可以办到的。但感觉非常麻烦。
    Madeline
        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 这玩意儿一般书上是没有的。
    coa
        38
    coa  
    OP
       2015-12-24 12:02:07 +08:00
    @anthonyeef 原来如此。眼界有限,暂时没找到其他好方法,麻烦也得上了。。。
    coa
        39
    coa  
    OP
       2015-12-24 12:05:54 +08:00
    @Madeline 还真没去想过这几个本身里面是如何实现的,只知道直接拿来就用了。。以后会尝试着去了解内在可能的实现情况,和学习开源框架,感谢~~~
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2675 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 08:38 PVG 16:38 LAX 01:38 JFK 04:38
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86