下午3点接到了个广州打过来的电话,电话面试总体时间比较短,35分钟。
考察内容:
1.讲实习: 因人而异,将了之前公司做的项目,刚好和面的岗位匹配,面试官听完之后还不忘垂壁一下他们的产品。
2.C#事件绑定
控件绑定事件,没答出来,object sender, MouseEventArgs e,这样的。网上搜了下,估计还会问如何清除绑定事件的所有方法。
3.C# 的delegete委托,类似C++的函数指针,这个没答出来。
C#中的委托类似于C或C++中的函数指针。使用委托使程序员可以将方法引用封装在委托对象内。然后可以将该委托对象传递给可调用所引用方法的代码,而不必在编译时知道将调用哪个方法。与C或C++中的函数指针不同,委托是面向对象,而且是类型安全的函数指针就是指向函数入口的指针。虽然每个函数不是变量,但是在内存中,函数也占有相应的物理地址,函数指针就是指向该函数的入口地址的。
没答好,面试官好人,通过一个a operate b的例子给我讲解了下,听完之后第一反应是感觉和设计模式里面的单例工厂很想,实现函数的复用,可参考这里。
4.说下面向对象的特性
继承,封装,多态。
继承:通过继承机制,可以利用已有的数据类型来定义新的数据类型。
封装:隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别;将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。
多态:C++中,多态分为 静态多态(编译时)和动态多态(运行时)。
静态多态,可以通过函数的重载,不同的参数类型不同的个数来实现;还可以通过template模板来实现。
动态多态,虚函数,接口,都是可以实现的,子类重写父类的虚函数;类实现不同的接口。
然后我顺便说了下C++多继承,和java/C#接口的关系,C++支持多继承,子类可以继承多个父类,而接口相当于纯虚函数,只是声明。
想了下,当时应该顺便把这些东西的应用场景也说一下的,毕竟项目里面用到了0.0。
5.数据结构算法
用数组维护一个队列。
!!!太简单了,还以为题目听错了,,,2个指针记录头围位置,push操作,尾指针后移,pop操作头指针后移。最后头尾指针中间的就是队内元素。
第二个题是我自己说了下最近做的一个题,dfs+状态记录,hiho #1474 拆字游戏。然而说完了,面试官说,哦这个和小老鼠走迷宫差不多呀,尴尬,看来这个逼格还是不够高。
并没有问任何网络、操作系统、数据库的问题,可能是因为投的Windows开发岗吧。
问了下面试官,如果有2面,24小时内会联系。然后暑期实习只要1个月就可以了,7月中到8月中。