论坛首页 招聘求职论坛

上海华为的一次面试经历

浏览 68194 次
精华帖 (0) :: 良好帖 (1) :: 隐藏帖 (1)
作者 正文
   发表时间:2007-10-03  
谢谢liquidthinker得精彩解释,长知识了
0 请登录后投票
   发表时间:2007-10-04  
ecipher写的方法很有意思,受教了,虽然逻辑上还有一点错误,但方法很好,值得借鉴
0 请登录后投票
   发表时间:2007-10-29  
public static String cut(String str, int len) {
String resultStr = "";
for (int i = 0; i < str.length(); i++) {
if (resultStr.getBytes().length
+ str.substring(i, i + 1).getBytes().length > len) {
break;
} else if (resultStr.getBytes().length
+ str.substring(i, i + 1).getBytes().length <= len) {
resultStr = resultStr + str.substring(i, i + 1);
}
}
return resultStr;
}
0 请登录后投票
   发表时间:2007-11-11  
受益非浅!有这份经历真羡慕!
0 请登录后投票
   发表时间:2007-11-12  
我也贴贴.我的代码
	public static void splitString(String string,int bytes){
		//获得总长度
                int length=string.getBytes().length;
		
                if(bytes<=length){
                        //声明一个byte数组
			byte[] b=new byte[bytes];

                        //获得string的byte数组
			byte[] b1=string.getBytes();

                        //用一个数表示汉字的byte出现了几次
			int count=0;
			for(int i=0;i<bytes;i++){
				b[i]=b1[i];
				if(b[i]<0)
					count++;
			}
                        //如果出现的不是双数,说明多了半个汉字没有截取。就将byte长度。减少
			if(count%2!=0)
			{
				bytes--;
			}
			byte result[]=new byte[bytes];
			for(int j=0;j<bytes;j++)
				result[j]=b[j];
				       
			try{
				System.out.println(new String(result));
			}catch(Exception e){	
			}
		}else{
			System.out.println("大于了总长度");
		}
	}
	
	public static void main(String args[]){
		String str=new String("我晕abc");
		splitString(str,5);
	}


不知道各位达人。。觉得我的代码是否正确。
可以test

另外如果我在linux采用eclipse用utf-8的编码。
这个问题就会非常复杂。。
汉字是3个byte的话,这个题的难度就增加了。
不过用我这个算法。只需要将%2改成%3,并相应更改一些。其他的。
不知道我说的对不对
0 请登录后投票
   发表时间:2007-11-13  
能显示中文就是GBK吧,答案要那么复杂吗。给一个简单的
public static String spitString(String str,int num)
{
if(num>str.getBytes().length)
{
return null;
}

else if(num==str.getBytes().length)
{
return str;
}
else
{
String s=new String(str.getBytes(),0,num-1);
String s1=new String(str.getBytes(),0,num);
String s2=new String(str.getBytes(),0,num+1);

if(s1.length()==s2.length())
{
return s;
}
return s1;
}
0 请登录后投票
   发表时间:2007-11-14  
第2题lz的理解有误吧?从lz的程序中没有看出根据字节作的处理。另外题目出得也有问题,应该说明字符串是什么编码,才能按字节截取。不同编码会导致不同的答案,比如gbk编码下识别汉字就会根据gbk编码的特点来判别。实际上,要求完成的函数参数使用String并不合适,容易使人误解,应该使用byte[]题意更明确些,并告知使用何种编码。java中的String采用unicode,每个字符都占用2个字节,不分中文英文,所以题意肯定不是指unicode编码,而应该指gbk之类的ansi编码。
0 请登录后投票
   发表时间:2007-11-14  
	public static String splitString(String str, int k) {
		if (str == null || "".equals(str) || k < 1) {
			return "";
		}
		byte[] temp = str.getBytes();
		int pos = temp.length < k ? temp.length : k;
		try {
			String t = new String(temp, 0, pos, "GBK");
			if (str.startsWith(t) == true) {
				return t;
			} else {
				return new String(temp, 0, pos - 1, "GBK");
			}
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
		return "";
	}
0 请登录后投票
   发表时间:2007-12-05  
汗,上海和南京的华为都去面试过,笔试题都很简单。

上海那回,就那个截取中文的程序没写起来,中午拿了10块钱饭票,贴了5

毛,两回都栽在集体面试上,总感觉很不适应这样的方式,看来还要再积累

经验才行,大公司还是必须适应大公司的那套东西!
0 请登录后投票
   发表时间:2007-12-07  
没经历过集体面试

我的3面是和HR单独谈的
用早就背好了的所谓追求人生价值的理论相互忽悠了一番

4面和一位女性领导(3级部门经理)聊了聊职业规划(中间问她一些关于公司培训和工作岗位职责的问题),谈了薪水,感觉她对我比较满意......=.=!

2周后接到录取通知,文化培训后来部门报道,然后发现上当了......
0 请登录后投票
论坛首页 招聘求职版

跳转论坛:
Global site tag (gtag.js) - Google Analytics