首先我真的感觉自己很...首先我真的感觉自己很菜 平时也不勤奋,所以面试失败也是我预料之中。
首先是在线测评,语言题,数字逻辑题,图形逻辑题共3组选择题各10多道,每组6分钟时间(平均每题不足30秒),然后是两个编程方面的题目。然后过几天通知面试。
面试就是今天下午。我去早了,等了一个小时,然后一个人(我不知道他什么身份)来给我面试技术。
拿到我简历的时候,看我的简历写了“某大学理学院数学系信息与计算科学”,他就问“你们学校计算机(学科)是理学院的?”,好吧,其实我读的专业是属于数学类专业来着。
看我项目经验有某软件开发,他就说“这个软件我用过”,然后就没有然后了,问我知道什么设计模式,我说“那个,,单例,普通工厂,抽象工厂什么的”,他就让我写出单例的实现,我用ARC+GCD的方式,在类方法+sharedInstance中实现了。然后说,通过这个类方法就产生单例。他指着这个方法下面的-init说,“要是直接调用-init不就破坏了吗(意思是产生了多个实例,其实不是)?”我不知道怎么回答,当时大脑也笨,现在想想,这个-init只是实例方法,不会创建新实例。OC语言是两阶段创建的,开辟内存和初始化分开的。
我本来就是菜鸟,当时就不明觉厉,说:“我平时都是这样用的,教程上也是这样教的”。。
然后问我普通工厂和抽象的工厂的区别,我死活也说不出来,最后逼急了,我就说“我在项目里面碰到一个情况,我定义了一个节点node类,它有两个子类:accountNode和fileNode,但是这两个类是不暴露给上层的人,只会通过node类的初始化时的不同情况生成相应的子类实例,这应该是工厂设计模式”我不知道我有没有说错,懂的大神请指点我!
他还要我画出类图,说明普通工厂和抽象工厂的不同,说实话,我真的不知道。我说我不懂,也没学过画过类图。他听说我没有画过类图觉得不可思议。我承认我有很多不懂的东西。
他也觉得我学的东西很少,知识面窄。问我:"你只会OC语言这些吗"。我也怪自己大学时候浪费太多时间了,OC也是去年找了个实习,然后学上的。
最后问我数据结构的东西,二叉树求叶子节点个数。我当时就想,早知今日,就好好恶补数据结构了。反正当时做得一塌糊涂,陷入深思(其实是在内心在想,没戏了,我还是早点回去吧),面试官也和我想的差不多,当时还玩起了手机。
最后说:"你有什么问题问我的吗",我犹豫了一下,“问题,没有问题”。然后结束了,走出大楼没几分钟收到面试没通过的短信。。。
全剧终。
面试感受:不好;面试难度:有难度;面试来源:网络招聘
共1个问题,0条回答
Q:知道什么设计模式
普通工厂和抽象的工厂的区别
二叉树求叶子节点个数
你有什么问题问我的吗