面试总结

作者: __夏至未至 | 来源:发表于2016-11-15 20:35 被阅读263次

    前言

    今天,没有风和日丽,没有太阳高照夏夏苦逼的坐着公交车去面试了一把。无论结果如何,总要涨一波经验的说于是乎夏夏决定复盘一下~!

    夕阳.jpg

    过程复盘

    首先呢,当然是填表格啊什么的,如何是人事来问你一些问题(这都不是重点),接下来就是面试官问你的问题啦~
    第一题是这样的:
    如何同时上传多张图片,保证到达服务器的顺序?
    我略微思考了下。。如果我用串行队列去做的话,过程也是一张一张的啊接着问了下面试大大,是多张同时上传嘛?得到了一个肯定的答复后,我继续思考!!!同时上传(异步队列开启多个线程去上传图片),图片上传的过程是客户端将图片转化为`NSData`类型再转化`formdata`传到服务器上的,于是乎我要保证它们是同时到达的,可是网速或者线程传输速度是不相同的,图片的大小也是不相同的。并且我可以监听到图片的上传进度!于是乎,我在想是不是可以在图片上传进度到达99%的时候暂停下,然后按照顺序去进行最后一步(是不是我想多了想多了想多了!!!)。

    恩。。。。也有可能题目是这样的,我批量上传多张图片,如何保证图片到达的顺序是按照我开始排练的顺序呢?
    于是乎,可以这样做:

    dispatch_queue_t lpQueue = dispatch_queue_create("slpQueue", DISPATCH_QUEUE_SERIAL);
    for (int i = 0 ;i< 5; i++) {
        dispatch_async(lpQueue, ^{
            sleep(1);
            NSLog(@"图片上传咯------图片%d", i);
        });
    }
    

    创建一个串行队列,异步执行图片上传操作~ 结果是这样的:

    异步串行.jpeg
    很好很强大思密达~! 当然,也有朋友说我是用AFN的,图片上传本来就是一个异步线程操作,如果这样写返回还是没办法确定的哟,这个时候你可以用GCDgroup信号量,用enterGroupleaveGroup去控制,具体代码可以看我之前的文章。

    第二题是比较基础的,问了下oc的@property属性是啥意思,有什么常用的修饰词。这个是比较常见的了,@property就是系统会自动实现setter,getter和_var。

    第三题就是strongcopy修饰的具体运用,在NSString,NSArray等类之前的修饰,基本上都是copy啦,用strong会出问题的,具体不解释了~

    其他就是一些页面的布局,flame布局或者约束自动布局都是可以的。

    问完了技术,就是问了下你平时的写代码的时候遇到过什么比较困难的问题,是怎么解决的,然后就是为什么离开上一家公司(这些方面可以吹个牛什么的,不要太耿直)。

    结束

    现在iOS行情貌似不太好的样子,不过还是要提高自己的技术水平,毕竟高技术的人才还是稀缺的,祝愿大家工作都顺利吧~

    面试方面的参考资料:https://github.com/ChenYilong/iOSInterviewQuestions/blob/master/0101《招聘一个靠谱的iOS》面试题参考答案/《招聘一个靠谱的iOS》面试题参考答案(上).md
    尽量多理解和运用,毕竟学到的才是真的~

    相关文章

      网友评论

        本文标题:面试总结

        本文链接:https://www.haomeiwen.com/subject/rojlpttx.html