`
清泉风影
  • 浏览: 108061 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

上海华为的一次面试经历

阅读更多

从接到华为面试电话那天起就在想,到底要不要走。去了是不是浪费自己的时间,在大脑反复的琢磨。直到今天早上起床的时候都在犹豫。发到我的邮箱的内容如下:

华为招聘:请于本周六8:30到浦东峨山路91弄98号陆家嘴软件园餐厅二楼参加工具开发部的技术面试,接待人张小姐,请带学位证、毕业证、英语四六级证、身份证以上四证的原件及复印件,简历,笔。若无法参加面试,请反馈给13661609375张先生。交通:地铁四号线到蓝村路下,219、东川线、871、隧道9线、970、619、819、610等到峨山路的车。
怎么是早上8:30呀!那我还不要6:30就要起床,因为要坐共交还要座地铁,真是够折磨人的。真的去了面试的地方太知道自己错,错在自己太守时了。实际上用不着去那么的早的。因为他有很多的场次,这场赶不上就下场,反正就一天的时间。听说是四面,到底是几面后面再说。接着往后说,我拿了一份应聘登记表,一五一十的填写个人相关的信息,具体什么内容,只要参加过相关面试的人都知道。接着就是上交应聘登记表,等待相应的面试官,在这过程中有两面,都是技术方面的面试。第一、问问相关的工作经历什么的。第二、就是做Java方面的面试题。不是我说,那Java面试超级的简单,都是我博客里的相关题目,这里我就说下最后那个编程题吧。
 
java 代码
  1. 设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。   
  2. 以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。   
  3. public class ThreadTest1{   
  4. private int j;   
  5. public static void main(String args[]){   
  6. ThreadTest1 tt=new ThreadTest1();   
  7. Inc inc=tt.new Inc();   
  8. Dec dec=tt.new Dec();   
  9. for(int i=0;i<2>   
  10. Thread t=new Thread(inc);   
  11. t.start();   
  12. t=new Thread(dec);   
  13. t.start();   
  14. }   
  15. }   
  16. private synchronized void inc(){   
  17. j++;   
  18. System.out.println(Thread.currentThread().getName()+"-inc:"+j);   
  19. }   
  20. private synchronized void dec(){   
  21. j--;   
  22. System.out.println(Thread.currentThread().getName()+"-dec:"+j);   
  23. }   
  24. class Inc implements Runnable{   
  25. public void run(){   
  26. for(int i=0;i<100>   
  27. inc();   
  28. }   
  29. }   
  30. }   
  31. class Dec implements Runnable{   
  32. public void run(){   
  33. for(int i=0;i<100>   
  34. dec();   
  35. }   
  36. }   
  37. }   
  38. }   

 

java 代码
  1. 编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”。    
  2.   
  3.   答:代码如下:   
  4.   
  5. package test;    
  6.   
  7. class  SplitString {   
  8.  String SplitStr;   
  9.  int SplitByte;   
  10.  public SplitString(String str,int bytes) {   
  11.   SplitStr=str;   
  12.   SplitByte=bytes;   
  13.   System.out.println("The String is:'"+SplitStr+"';SplitBytes="+SplitByte);   
  14.  }   
  15.   
  16.  public void SplitIt() {   
  17.   int loopCount;   
  18.   loopCount=(SplitStr.length()%SplitByte==0)?(SplitStr.length()/SplitByte):(SplitStr.length()/SplitByte+1);   
  19.   System.out.println("Will Split into "+loopCount);   
  20.   for (int i=1;i<=loopCount ;i++ ) {   
  21.    if (i==loopCount){   
  22.     System.out.println(SplitStr.substring((i-1)*SplitByte,SplitStr.length()));   
  23.    } else {   
  24.     System.out.println(SplitStr.substring((i-1)*SplitByte,(i*SplitByte)));   
  25.    }   
  26.   }   
  27.  }   
  28.   
  29.  public static void main(String[] args) {   
  30.   SplitString ss = new SplitString("test中dd文dsaf中男大3443n中国43中国人0ewldfls=103",4);   
  31.   ss.SplitIt();   
  32.  }   
  33. }    
  34.   

 

这个我做的很不错已经给了面试官一个不错了印象,然后就让我做数据结构相关的题目。拿起试题就感觉到有点不对劲了,以前很熟悉的链表,遍历等等现在脑子里一点概念都没有了。随便做了下,结果很不理想。所以说想去华为面试之前一定要把数据结构的东西再回味一下。可能因为Java面试做得不错的原因吧,第一面就这样过了。等了一会,第二面开始了,先也是很谈谈工作经历什么的,接着就是让我做一份与操作系统相关的题目,然后就提了几个问题,就这样我的二面就过了,可能这就是他们一惯面试流程。面试官说你到下午1:30再进行三面吧。整个二面完是10:30左右。这就是说我的技术面试都面完了。

听说中午可以免费在华为的食堂吃饭,这个都是蛮不错的,还没有一个公司面试还提供免费午餐的。等到吃饭的时间去领了张饭票,上面的标价是9元。我随便先了二、三个就11元,只好自己再补二元。哈哈。。感觉不错,比我们以前公司里的食堂的饭菜强多了。中午休息的时候找到了个打乒乓球的地方,不过要收费(场地费6元,租用球拍2无,乒乓球2元,时间一个小时),好几年都没有打乒乓球,比较的爽。

反正等了很久再到三面。我们正式三面时候是5:00左右的样子,进去之后就来个自我介绍,由于我是坐在第一个坐子,因此从我第一个开始自我介绍。我一开始说了太多,被面试官打断了说你说简单点,就说说你的优点、缺点、个人爱好就可以了。由于我是第一个说的,不是很理想。每个人介绍完后面试官就发话了,你随便的说说在所有的自我介绍中谁给你的影响最深。然后一个一个接着发言,竟然有人说我对他留下的影响最深,说我是第一个发言的,还能随机应变,我那个时候真的很爽。。哈哈。我猜可能是因为我们有共同的爱好足球,所以才给他留下的影响最深。不管怎样还是很谢谢他。接下来就是相关活动的游戏测试。具体如下:接这次三面的人分成二组A,B,共同去完成这样的一件事。假如我们在月球上的飞船碰到了相应的故障,放在飞船上的物资要做相关的处理,下列的15种物资(水、氧气、食物、指南针、地图、PM、信号弹、急救箱、火柴、50米的绳子等等)中你会怎样排选,把你认识最不可少的列在第一位,如此类推。我就是在这个环节中被淘汰的。

今天刚刚面试完,回来就把全部的相见相闻都写了下来。不管怎样,有这样的一次面试机会真的是收获不小。因为在此之前我从来没有见过样的面试场面,大概有1000号人左右吧。下次有机会一定还要去华为面试。

 

分享到:
评论
51 楼 jackyamaza 2007-10-04  
ecipher写的方法很有意思,受教了,虽然逻辑上还有一点错误,但方法很好,值得借鉴
50 楼 pippo25 2007-10-03  
谢谢liquidthinker得精彩解释,长知识了
49 楼 Qieqie 2007-09-29  
hax 写道

所有人对unicode、字符集和字符集编码的常识都有问题,只是严重程度的差别。
许多人的java基础一塌糊涂,代码不忍卒读。


我之前的估计是一半人(包括自己)对unicode、字符集和字符集编码的常识有问题。

如果不是刚好因为做中文分词需要较深入掌握这些东西,我对这个“常识”就永远是业余的了
48 楼 hax 2007-09-29  
等我有空的时候会以此作为案例来写的。
47 楼 jerrychen 2007-09-29  
hax 写道
又仔细看了一遍,第二题果然没有一个是做对的。

楼主那个不知所云的代码就不说了,还在哪里沾沾自喜。后面的几个,可以看出几点:

大多数人的习惯非常之差——连基本的测试都不做。
所有人都思路不清晰——需求还没有厘清,就贸然动手。
所有人对unicode、字符集和字符集编码的常识都有问题,只是严重程度的差别。
许多人的java基础一塌糊涂,代码不忍卒读。


你写一个来看看,让我们见识见识.
46 楼 hax 2007-09-29  
又仔细看了一遍,第二题果然没有一个是做对的。

楼主那个不知所云的代码就不说了,还在哪里沾沾自喜。后面的几个,可以看出几点:

大多数人的习惯非常之差——连基本的测试都不做。
所有人都思路不清晰——需求还没有厘清,就贸然动手。
所有人对unicode、字符集和字符集编码的常识都有问题,只是严重程度的差别。
许多人的java基础一塌糊涂,代码不忍卒读。
45 楼 hax 2007-09-28  
放眼看去,第二题没有一个做对的。当然原题本身也有问题。
44 楼 ecipher 2007-09-26  
public class SplitString {

/**
* @param args
*/
public static void main(String[] args) {
int n = 3;
String str = new String("ni你d好好的");
byte ttt[] = str.getBytes();
byte tt[] = new byte[n];
byte t[] = new byte[n+1];
int i = 0;
for (;i < n;i++) t[i] = tt[i] = ttt[i];
t[i] = ttt[i];
String ss = new String(tt);
String s = new String(t);
int lenSS = ss.length();
int lenS = s.length();
System.out.println(lenS==lenSS?s:ss);
}
}
43 楼 viewtifuljoey 2007-09-24  
这么说吧,3年前我去hw面试,也是这个题,一模一样........


补充一下,其他的非技术面试题问的也差不多,但是最后那个选物资的没问过我。
42 楼 InnocentBoy 2007-09-24  
前天接到西安研究所的面试,也是委婉的拒绝了。
41 楼 niwei 2007-09-24  
感觉楼主第二题答的不对题。
40 楼 borland 2007-09-24  
for(int i=0;i<str.length;i++) {
   if(str.charAt(i)&0x100==0)
     len+=2;
   else
     len++;
}
39 楼 williamy 2007-09-23  
偶去浦东IBM哪里,我觉得去绝对浪费时间,薪水高不到哪里去的,我那么小小的要求都不答应,偶还是等自己长成小牛后去thoughtworks吧
38 楼 阿拉丁 2007-09-23  
    public static void main(String[] args) {
       
        String testString = "我ABC汉DEF";
        int byteCount =6;
        StringBuffer sb = new StringBuffer();
        int sblen=0;
        for(int i =0;i<testString.length();i++){
            sblen=sb.toString().getBytes().length;
            if(sblen<byteCount){
                String tmp = testString.substring(i,i+1);
                if( tmp.getBytes().length==1){
                    sb.append(tmp);
                }else{
                    //如果是汉字,就要判断是否超过长度
                    if(sblen+tmp.getBytes().length>byteCount){
                        break;
                    }else{
                        sb.append(tmp);
                    }
                }
            }
        }
        System.out.println("======="+sb);
       
    }
37 楼 shaquan6776 2007-09-22  
关键是看,想前多取一位呢,还是向后少取一位!后者,就简单许多了!
36 楼 shaquan6776 2007-09-22  
关键是看,想前多取一位呢,还是向后少取一位!后者,就简单许多了!
35 楼 soso 2007-09-22  
public class Test {

static void fun1(String str,int length){

//System.out.println(str.getBytes().length);

byte[] bt = str.getBytes();

for (int i = 0; i < bt.length; i++) {
// 打印出字节数组中的值,可以看出只要是汉字就会占两个字节,并且为两个负整数
System.out.println(bt[i]);
}

// 打印出按实际出入的字节数的所截字符串
System.out.println(new String(bt,0,length));

// 判断最后一个是否为负,如果是负的则丢掉该字节
if (bt[length] < 0){
System.out.println(new String(bt,0,--length));
}else{
System.out.println(new String(bt,0,length));
}
}

public static void main(String[] args){

Test.fun1("我ABC", 4);
Test.fun1("我ABC汉DEF", 6);

}

}
34 楼 noiceman 2007-09-21  
楼上的不对哦
偶修改了下(红色是修改部分)
public class SplitString {

public SplitString(){

}

/**
* 截取字符串
* @param content
* @param byteCount
*/
public void splitStaring(String content, int byteCount) {
byte[] bytes = content.getBytes();
if(byteCount>bytes.length){
System.out.println(content);
}else{
int realByteCount = getRealBytes(bytes,byteCount);
System.out.println(realByteCount);
System.out.println(new String(bytes, 0, realByteCount)); }
}

/**
* 计算真正截取的字节数
* @param bytes
* @param byteCount
* @return
*/
private int getRealBytes(byte[] bytes,int byteCount){
int realByteCount = byteCount;//真正要截取的字节数
if (bytes[byteCount - 1] < 0) {
int chinaCharCount = 0;// 汉字字节的个数
for (int i = 0; i < byteCount; i++) {// 计算出截取的字节中,小于0的字节个数
if (bytes[i] < 0)
chinaCharCount += 1;
}
realByteCount = (chinaCharCount % 2 == 0) ? byteCount
: byteCount - 1;
}
return realByteCount;
}

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

String str = "啊我啊我sdf";
SplitString test = new SplitString();
test.splitStaring(str,5 );

}

}
33 楼 shaquan6776 2007-09-21  
贴上我的答案,第二道题的.按照字节来分的:
package com.liukai.io;

public class SplitString {

public SplitString(){

}

/**
* 截取字符串
* @param content
* @param byteCount
*/
public  void splitStaring(String content, int byteCount) {
byte[] bytes = content.getBytes();
int realByteCount = getRealBytes(bytes,byteCount);
System.out.println(new String(bytes, 0, realByteCount));
}

/**
* 计算真正截取的字节数
* @param bytes
* @param byteCount
* @return
*/
private int getRealBytes(byte[] bytes,int byteCount){
int realByteCount = 0;//真正要截取的字节数
if (bytes[byteCount - 1] < 0) {
int chinaCharCount = 0;// 汉字字节的个数
for (int i = 0; i < byteCount; i++) {// 计算出截取的字节中,小于0的字节个数
if (bytes[i] < 0)
chinaCharCount += 1;
}
realByteCount = (chinaCharCount % 2 == 0) ? byteCount
: byteCount + 1;
}
return realByteCount;
}

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

String str = "我ai我唉laopo";
SplitString test  = new SplitString();
test.splitStaring(str, 7);

}

}
32 楼 zhang26chao 2007-09-21  
又看了一遍这个帖子,对各位所说的编码问题很感兴趣,因为之前被编码问题困扰过,但到现在也没搞明白,希望哪位大侠有时间总结下,让像我一样没有搞明白的人学习学习。谢谢。

相关推荐

    中专生华为面试的真实经历.docx

    "中专生华为面试的真实经历" 知识点1:华为公司概况 华为是一家创造神线、G、高科技、高速成长、全民持股和民营企业,目前是在国内电信第一大供商货商,海外市场也越来越火红,正在蚕食网络商老大 CISCO 的本土美国...

    中兴 华为 腾讯 MTK 上海 Intel Marvell 面试经验

    3. **华为面试历程**:华为的面试流程相对严格,但从机试到多轮面试,求职者展示了良好的适应能力和解决问题的能力。最终成功获得Offer,证明了准备充分和积极应对挑战的价值。 综上所述,求职者在IT行业的求职过程...

    华为面试笔试题集合之精华

    本章节收集了求职者分享的华为面试经历,旨在帮助后来者更好地准备面试。 **4.1 华为面试流程** - **自我介绍**:简要介绍自己的教育背景和工作经验。 - **技术面试**:根据应聘岗位的不同,面试官会提出相应的...

    菜鸟取经·程序员面试(第1期)

    1.26 一次谷歌面试趣事 1.27 Google 的面试经历 1.28 IBM 面试记 1.29 Infosys 面试经历 1.30 搜狐,百度和豆瓣的面试感受 1.31 百度面试归来,经验值又+1 了 1.32 淘宝面试记 1.33 淘宝面试失败总结 1.34 腾讯实习...

    华为面试大礼包--2010

    ### 华为面试大礼包知识点总结 #### 一、公司相关信息 **公司概述:** - **成立时间与地点:** 华为技术有限公司成立于1988年,总部位于中国深圳。 - **业务范围:** 主要从事通信网络技术与产品的研发、生产和...

    上海贝尔_高质量C++编程指南

    6. **企业实践**:与华为、上海贝尔、中兴等公司的交流显示,提高质量和生产率是软件工程的核心问题。高质量的程序设计是实现这一目标的关键步骤。 综上所述,高质量C++编程不仅仅是熟练掌握语法和技巧,更是关于...

    某天大同学求职经验总结

    - **注重积累**:每一次面试都是积累经验的过程,无论是成功还是失败,都要从中吸取教训。 - **把握时机**:注意各行业招聘的时间节点,合理安排投递简历的时间。 - **心态调整**:保持积极乐观的心态面对求职过程中...

    面试简历模板

    【面试简历模板】是求职者展示自己技能、经验和能力的重要文档,它涵盖了个人基本信息、教育背景、工作经历、技能特长、自我评价以及求职意向等多个方面。以下是对张三的简历内容进行的详细解读: 1. **个人信息**...

    应届生找工作应聘必看的经典好文

    这篇文章是一位应届毕业生分享自己找工作的全貌,从求职目标设定到最终签约的经历。作者以系列文章的形式详细讲述了求职过程的各个阶段,包括前期准备、投递简历、笔试、面试、签约/违约以及总结。文章中,作者强调...

    代先生-嵌入式软件开发_网络公司it人员简历_程序员简历模板_计算机相关专业.docx

    在华为技术有限公司,代先生是嵌入式软件开发团队的一员,专注于无线链路性能优化和家庭路由智联组网。他带领一个6人团队,运用MU-MIMO、WMM、beforming、RTS/CTS等技术提升无线性能。在华为家庭网络荣耀路由项目组...

    名企2011校园招聘网申截至日期汇总

    【名企2011校园招聘网申截至...同时,准备充分的个人简历、实习经历以及面试技巧也是成功获得职位的关键。对于那些希望在知名公司开启职业生涯的毕业生来说,把握好这些时间点,提前准备,才能在激烈的竞争中脱颖而出。

    2008通信行业笔试题

    综上所述,2008年的通信行业不仅经历了重大的行业变革,如运营商重组、3G牌照发放等,还面临着新的技术和市场挑战。对于求职者而言,了解通信行业的基本情况、掌握必要的技能和知识是非常重要的。

Global site tag (gtag.js) - Google Analytics