oj3w63p57c 发表于 2016-6-6 09:43:41

上海华为的一次面试经历

  从接到华为面试电话那天起就在想,到底要不要走。去了是不是浪费自己的时间,在大脑反复的琢磨。直到今天早上起床的时候都在犹豫。发到我的邮箱的内容如下:
华为招聘:请于本周六8:30到浦东峨山路91弄98号陆家嘴软件园餐厅二楼参加工具开发部的技术面试,接待人张小姐,请带学位证、毕业证、英语四六级证、身份证以上四证的原件及复印件,简历,笔。若无法参加面试,请反馈给13661609375张先生。交通:地铁四号线到蓝村路下,219、东川线、871、隧道9线、970、619、819、610等到峨山路的车。
怎么是早上8:30呀!那我还不要6:30就要起床,因为要坐共交还要座地铁,真是够折磨人的。真的去了面试的地方太知道自己错,错在自己太守时了。实际上用不着去那么的早的。因为他有很多的场次,这场赶不上就下场,反正就一天的时间。听说是四面,到底是几面后面再说。接着往后说,我拿了一份应聘登记表,一五一十的填写个人相关的信息,具体什么内容,只要参加过相关面试的人都知道。接着就是上交应聘登记表,等待相应的面试官,在这过程中有两面,都是技术方面的面试。第一、问问相关的工作经历什么的。第二、就是做Java方面的面试题。不是我说,那Java面试超级的简单,都是我博客里的相关题目,这里我就说下最后那个编程题吧。
 
java 代码

[*]设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。   
[*]以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。   
[*]public class ThreadTest1{   
[*]private int j;   
[*]public static void main(String args[]){   
[*]ThreadTest1 tt=new ThreadTest1();   
[*]Inc inc=tt.new Inc();   
[*]Dec dec=tt.new Dec();   
[*]for(int i=0;i<2>   
[*]Thread t=new Thread(inc);   
[*]t.start();   
[*]t=new Thread(dec);   
[*]t.start();   
[*]}   
[*]}   
[*]private synchronized void inc(){   
[*]j++;   
[*]System.out.println(Thread.currentThread().getName()+"-inc:"+j);   
[*]}   
[*]private synchronized void dec(){   
[*]j--;   
[*]System.out.println(Thread.currentThread().getName()+"-dec:"+j);   
[*]}   
[*]class Inc implements Runnable{   
[*]public void run(){   
[*]for(int i=0;i<100>   
[*]inc();   
[*]}   
[*]}   
[*]}   
[*]class Dec implements Runnable{   
[*]public void run(){   
[*]for(int i=0;i<100>   
[*]dec();   
[*]}   
[*]}   
[*]}   
[*]}   

  
java 代码

[*]编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”。    
[*]  
[*]  答:代码如下:   
[*]  
[*]package test;    
[*]  
[*]class  SplitString {   
[*] String SplitStr;   
[*] int SplitByte;   
[*] public SplitString(String str,int bytes) {   
[*]  SplitStr=str;   
[*]  SplitByte=bytes;   
[*]  System.out.println("The String is:'"+SplitStr+"';SplitBytes="+SplitByte);   
[*] }   
[*]  
[*] public void SplitIt() {   
[*]  int loopCount;   
[*]  loopCount=(SplitStr.length()%SplitByte==0)?(SplitStr.length()/SplitByte):(SplitStr.length()/SplitByte+1);   
[*]  System.out.println("Will Split into "+loopCount);   
[*]  for (int i=1;i<=loopCount ;i++ ) {   
[*]   if (i==loopCount){   
[*]    System.out.println(SplitStr.substring((i-1)*SplitByte,SplitStr.length()));   
[*]   } else {   
[*]    System.out.println(SplitStr.substring((i-1)*SplitByte,(i*SplitByte)));   
[*]   }   
[*]  }   
[*] }   
[*]  
[*] public static void main(String[] args) {   
[*]  SplitString ss = new SplitString("test中dd文dsaf中男大3443n中国43中国人0ewldfls=103",4);   
[*]  ss.SplitIt();   
[*] }   
[*]}    
[*]  

  
  这个我做的很不错已经给了面试官一个不错了印象,然后就让我做数据结构相关的题目。拿起试题就感觉到有点不对劲了,以前很熟悉的链表,遍历等等现在脑子里一点概念都没有了。随便做了下,结果很不理想。所以说想去华为面试之前一定要把数据结构的东西再回味一下。可能因为Java面试做得不错的原因吧,第一面就这样过了。等了一会,第二面开始了,先也是很谈谈工作经历什么的,接着就是让我做一份与操作系统相关的题目,然后就提了几个问题,就这样我的二面就过了,可能这就是他们一惯面试流程。面试官说你到下午1:30再进行三面吧。整个二面完是10:30左右。这就是说我的技术面试都面完了。
  听说中午可以免费在华为的食堂吃饭,这个都是蛮不错的,还没有一个公司面试还提供免费午餐的。等到吃饭的时间去领了张饭票,上面的标价是9元。我随便先了二、三个就11元,只好自己再补二元。哈哈。。感觉不错,比我们以前公司里的食堂的饭菜强多了。中午休息的时候找到了个打乒乓球的地方,不过要收费(场地费6元,租用球拍2无,乒乓球2元,时间一个小时),好几年都没有打乒乓球,比较的爽。
  反正等了很久再到三面。我们正式三面时候是5:00左右的样子,进去之后就来个自我介绍,由于我是坐在第一个坐子,因此从我第一个开始自我介绍。我一开始说了太多,被面试官打断了说你说简单点,就说说你的优点、缺点、个人爱好就可以了。由于我是第一个说的,不是很理想。每个人介绍完后面试官就发话了,你随便的说说在所有的自我介绍中谁给你的影响最深。然后一个一个接着发言,竟然有人说我对他留下的影响最深,说我是第一个发言的,还能随机应变,我那个时候真的很爽。。哈哈。我猜可能是因为我们有共同的爱好足球,所以才给他留下的影响最深。不管怎样还是很谢谢他。接下来就是相关活动的游戏测试。具体如下:接这次三面的人分成二组A,B,共同去完成这样的一件事。假如我们在月球上的飞船碰到了相应的故障,放在飞船上的物资要做相关的处理,下列的15种物资(水、氧气、食物、指南针、地图、PM、信号弹、急救箱、火柴、50米的绳子等等)中你会怎样排选,把你认识最不可少的列在第一位,如此类推。我就是在这个环节中被淘汰的。
  今天刚刚面试完,回来就把全部的相见相闻都写了下来。不管怎样,有这样的一次面试机会真的是收获不小。因为在此之前我从来没有见过样的面试场面,大概有1000号人左右吧。下次有机会一定还要去华为面试。
  
页: [1]
查看完整版本: 上海华为的一次面试经历