V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
coa
V2EX  ›  求职

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

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

    [深圳]寨都求 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 ~~
    xiaxiang
        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   ·   我们的愿景   ·   实用小工具   ·   980 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 465ms · UTC 20:52 · PVG 04:52 · LAX 13:52 · JFK 16:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.