面试后的感想
好久没写过了 呵呵 一直想坚持 但是总是坚持不下来、懒得写。这毛病应该改正吖!!
仅以此文献给我第一次正规的面试 。 面试公司是一家欧美金融行业的离岸研发中心、通俗点来讲就是 一家对欧美的外包公司。公司很牛X的说 。
HR第一次打电话给我。说是外企。 问到了我英语怎么样。大致问了一下情况。(忘记交代背景。一直在一个小公司待了一年多。一直想找一个针
对欧美的外包公司、英语很差。api都得借助翻译工具。)
记得当时听到外企 外包公司 直接就兴奋了。 哈哈也不管那边公司是做winform, 而我工作了两年 除了asp.net就只做了android。。Winform
基本都没碰过。 大致聊了几句。然后敲定了第一次面试的时间。之后就各种忐忑、激动。呵呵
言归正传。面试当天、HR约9点半。 貌似八点半就提前到了公司楼下。 之后大约9点多点 。上去见到了HR。 基本没怎么聊 。上来就让做了道上机题。
还记得题目是 给出了几种商品、 然后有免除基本税的。 有需要扣除进口税的。 之后让根据一份xml数据Demo算出总价和税收总价 。重点体现面向对象
和可扩展性。开发工具 vs2008. 好多api都木有提示 。而且貌似没有预编译了。。还是英文版。诶 各种不淡定 读题读了半天 用了 普通的三层。还添加
一个公共类库、另外商品类抽取了接口。另外必要的异常处理等等。 进行扣税等等必须操作 。一直做到11点半, 呵呵 总算最后运行结果跟demo中的结果一致了。。
通知HR。之后一个工程师过来看了一会。 了解了一下实现思路和方法。差不多就到了中午饭点了。 总体还不错。
HR 当场通知让我下午1点继续复试。
中午继续不淡定。各种激动。
下午提前到场。然后开始技术面试。依旧上午看我机试代码的那位攻城狮。以下是模模糊糊还记得聊到过的问题
1. 面向对象的特性。
2. 多态与继承的区别。
3.值类型和引用类型的区别。
4.了解过得设计模式 。
5.泛型中的where.和泛型的好处
6.单例的用处和单例模式和静态变量的区别。
7. 手写了一段抽象工厂和单例模式
8. 异常处理。自定义异常 还有在多层结构中 异常一般都在什么时候捕获
9. 多线程和异步线程之间的线程安全
10. 垃圾回收机制的原理和类中的属性在什么时候回收。
11. 一道代码题
public class A
{ string a="abc";
string b= "bcd" ;
static void Main(string[] args)
{
method(a,b) ;
console.writeline("a:"+a+"b:"+b);
}
static void method(string a,string b)
{
string temp =a;
a=b;
b=temp;
console.writeline("a:"+a+"b:"+b);
}
}
问两次打印的结果
12.网络编程。socket
大致就这些问题吧。 总体来讲聊得还算可以。 就是这些问题都是知道皮毛 一深入问到原理或者内部运行机制 就悲催了。
而且好多问题都是由于我自己提到了。。然后面试官就深入问了一下。。深刻吸取教训吖 ! 以后自己不太清楚的、 千万不能提到。
差不多聊了2个多小时。面试官觉得还可以。然后HR过来 差不多聊了一些共有的问题、像为什么想要换工作了。 期望的薪资了。等等
然后就告诉我今天面试总体还可以。之后就还有一次 跟国外的工程师的面试 和最终的Team Leader的面试、让我准备准备。
果断不淡定了。尼玛、四次面试。第三次还是老外面。。。 这让我情何以堪吖 。。安排了时间。。然后怀揣激动和忐忑的心情回了。。
第一天的面试全剧终、、从早上9点到下午3点40..
第三面。差不过中间隔了一个多礼拜、约到下午2点半。 依旧早早的去了。然后直接一个国外的美女。进来就帕拉帕拉说一堆英语。
尼玛、就听懂一句My Name is XXX.... 然后我果断回了一句 My Name is XXX 哈哈。 之后就开始尴尬。美女说了半天 我只好用我那
半调子中国式英语让她重复一遍、、好容易拖了一会。。然后国内的工程师过来了。。(上次告诉HR 我英语不行、于是安排的翻译)
之后。让我用英语对之前的工作 还有项目做一下介绍、当场傻眼。哼唧了半天 最终还是很无奈的告诉他们、能说中文么。。。
语言关算是挂了、、之后开始技术上的问题、
1、为什么喜欢.net或者说 为什么要找这方面的工作(由于我简历上项目很杂 java .sliverlight.asp.net. android啥项目都有)
这个问题没答太好、说实话真没考虑过这个 呵呵 就说了一下 微软的东西相对来讲 文档了还有社区这方面比java的要规范一些
然后 C#系的东西 大致都是一样的 。其实我想说 因为微软的有中文api.. 哈哈
2、线程A.和线程B。同时操作一个字典、怎样保证线程同步、说出4种方法、
仅仅答出了一个排他锁、其余压根不知道 诶。
3、以前做过得网站有做过并发还有性能方面的优化么。
坑爹的问题、 又不是做12306. 都是基本的企业宣传网站 根本没涉及过这方面。诶
4、int[] input = {4,0,0,1,1,9,0,9} ;
结果 int[] result = {4,1,1,9,9,0,0,0};
问有什么规律。另外手写一个方法实现这个。由于各种紧张 加上前面也答得不好。很悲催的第一次竟然写错了。
给出的答案
public List<int> compareMethod(int[] _arr,int compareValue)
{
List<int> result =null;
if(null!=_arr&&_arr.length>0){
int count=0;
result = new ArraryList<int> ();
for(int i=0;i<_arr.length;i++){
if(compareValue==_arr[i]){
count++;}
else{
result.add(_arr[i]);}
}
for(int i=0;i<count;i++)
{
result.add(compareValue);}
}
return result;}
脑子里一直想的就是用啥算法、于是就一片空白了。。只好简单的实现了功能。
5、之后问我这个方法的优劣。好好在哪 、不好不好在哪。 有什么可以改进的、、
这个问题问的我很迷茫吖 、。能有啥优劣性 。还不让我解释方法。
诶 、于是只说了一句 compareValue有利于扩展。就没了。然后还说 两个for循环 肯定是不好的。消耗内存和cpu。
结果。。 引发了另外一个问题。
6、问我这个方法执行前和执行后内存是变大了还是变小了。 变化了多少。、、、、
这也不清楚吖。、诶 只好按照已知的大概推断了一下 蒙了个 变大了52字节吧。。
结束了这次面试、很悲催吖 不用人说 就知道肯定没戏了。 最后问了一下 我需要提高或者说哪些方面没有达到要求的、 果断的告诉我英语和代码运行时 内部的一些东西、不要浮于表面。诶
总结一下、欠缺的 英语、算法、内部机制、多线程等等 。太多的东西都是只知道皮毛 而不了解其原理。看来还是需要静下心来继续努力了。