`

网易公司刁难的面试题,留下你的见解

 
阅读更多
今天去网易面试了
其中有这么一道题很郁闷
没答出来
原题是这样的
要求用户从键盘上输入一个数字,数字范围是(9位数以内)
要求输出正确的英文单词来
如:
用户输入:
1,返回:one

看了很多大家的评论
我想大家还没看清人家出这道题的真正用意
我在解释一下
用户任意从键盘上输入一个数字,要求你用代码实现该数字的汉译英

大家提到了switch,可是你想想数字范围是9位数以内,用户输入的数字是不定的,你怎么取舍,总不能写n个switch吧
还有人说了类似将阿拉伯数字用万千等表示的,这也太easy了吧,网易会考这么低能的题吗
大家不要扯跟这道题目无关的东西好吗
分享到:
评论
31 楼 ssssqq 2009-09-10  
我忘了一点,如果没有限制用什么语言写,那就不知道考什么了,考循环吗????如果考javalsls的答案一定通不过,到处是""+"",会很占内存的,java又不放
30 楼 ssssqq 2009-09-10  
这在考英语,偶不会,如果是靠RMB我就会,搞个数据存放十,百,千的,然后看钱的长度,1000RMB,就从数组中的第四个区千,然后在判断数字的大小,应该是考string 和stringBuffer吧
29 楼 dingjun123 2009-09-10  
面试题嘛,转个别人写的
package name.zrl;    
   
public class ListTest {    
    static String[] to_19 = { "zero", "one", "two", "three", "four", "five",    
            "six", "seven", "eight", "nine", "ten", "eleven", "twelve",    
            "thirteen", "fourteen", "fifteen", "sixteen", "seventeen",    
            "eighteen", "nineteen" };    
    static String[] tens = { "twenty", "thirty", "forty", "fifty", "sixty",    
            "seventy", "eighty", "ninety" };    
    static String[] denom = { "", "thousand ", "million", "billion",    
            "trillion", "quadrillion", "quintillion", "sextillion",    
            "septillion", "octillion", "nonillion", "decillion", "undecillion",    
            "duodecillion", "tredecillion", "quattuordecillion",    
            "sexdecillion", "septendecillion", "octodecillion",    
            "novemdecillion", "vigintillion" };    
   
    public static void main(String[] argv) throws Exception {    
        long tstValue = 1234567890987654321L;    
        ListTest itoe = new ListTest();    
        System.out.println(itoe.english_number(tstValue));    
    }    
   
    private String convert_nn(int val) {    
        if (val < 20)    
            return to_19[val];    
   
        int flag = val / 10 - 2;    
        if (val % 10 != 0)    
            return tens[flag] + "-" + to_19[val % 10];    
        else   
            return tens[flag];    
    }    
   
    private String convert_nnn(int val) {    
        String word = "";    
        int rem = val / 100;    
        int mod = val % 100;    
        if (rem > 0) {    
            word = to_19[rem] + " hundred ";    
   
        }    
        if (mod > 0) {    
            word = word + convert_nn(mod);    
        }    
        return word;    
    }    
   
    public String english_number(long val) {    
   
        if (val < 100) {    
            System.out.println((int) val);    
            return convert_nn((int) val);    
        }    
        if (val < 1000) {    
            return convert_nnn((int) val);    
        }    
   
        for (int v = 0; v < denom.length; v++) {    
   
            int didx = v - 1;    
            long dval = new Double(Math.pow(1000, v)).longValue();    
   
            if (dval > val) {    
                long mod = new Double(Math.pow(1000, didx)).longValue();    
                int l = (int) (val / mod);    
                long r = (long) (val - (l * mod));    
                String ret = convert_nnn(l) + " " + denom[didx];    
                if (r > 0) {    
                    ret = ret + ", " + english_number(r);    
                }    
   
                return ret;    
            }    
   
        }    
        return null;    
    }    
   
}    
28 楼 seele 2009-09-09  
下一站,火星 写道

搞个计数器判断下就可以了,和汉字按首字母排序差不多的问题



越来越不理解了....

如果那么简单,请把代码帖出来吧
27 楼 Jwind 2009-09-09  
想问网易是否诚心招人啊?
26 楼 Laynepeng 2009-09-09  
bcccs 写道
101/1001这样的也是要考虑的吧


是关于我给的那个算法
引用
首先,英文单词是3位3位来的。分别是million, thousand和啥都没有的后缀。

然后问题就变成解析一个三位数的问题了,譬如,123翻译成英文。

这就简单了,%100, %10, %1,得出的值,对应到3个数组里面去。。。


面试题嘛,就这样说行了,不用给代码了吧?这很简单阿。。。

的问题吗?

这种情况已经考虑进来的阿。

1001-〉分成2档,1 -> thousand, 001 -> 啥都没有

1/100 = 0, ["","one hundred and ", "two hundred and ", "three hundred and "..."nine hundred and "]

(1-0*100)/10 = 0, ["", "ninty" ...]

(1-0*100-1*10)/1 = 1 ["", "nine"...]

那个%100,%10,%1是指那个经典的算法,学校里面求每位是几那个。
25 楼 chinata 2009-09-09  
sxyx2008 写道
今天去网易面试了
其中有这么一道题很郁闷
没答出来
原题是这样的
要求用户从键盘上输入一个数字,数字范围是(9位数以内)
要求输出正确的英文单词来
如:
用户输入:
1,返回:one


这道题很简单,如果这也不会的话,转行做QA吧,真的。。。
24 楼 bcccs 2009-09-09  
101/1001这样的也是要考虑的吧
23 楼 下一站,火星 2009-09-09  

搞个计数器判断下就可以了,和汉字按首字母排序差不多的问题
22 楼 Laynepeng 2009-09-09  
首先,英文单词是3位3位来的。分别是million, thousand和啥都没有的后缀。

然后问题就变成解析一个三位数的问题了,譬如,123翻译成英文。

这就简单了,%100, %10, %1,得出的值,对应到3个数组里面去。。。


面试题嘛,就这样说行了,不用给代码了吧?这很简单阿。。。
21 楼 moonskyfox 2009-09-09  
下一站,火星 写道
楼上的哥哥

引用
今天去网易面试了
其中有这么一道题很郁闷
没答出来
原题是这样的
要求用户从键盘上输入一个数字,数字范围是(9位数以内)
要求输出正确的英文单词来

如:
用户输入:
1,返回:one

你到底想怎样

哈哈  火星兄很无奈的说
20 楼 nathanlee 2009-09-09  
sxyx2008 写道
bcccs 写道
sxyx2008 写道
今天去网易面试了
其中有这么一道题很郁闷
没答出来
原题是这样的
要求用户从键盘上输入一个数字,数字范围是(9位数以内)
要求输出正确的英文单词来
如:
用户输入:
1,返回:one


啊?刁难?哪里刁难 了?

请留下你的见解

19 楼 bcccs 2009-09-09  
下一站,火星 写道
楼上的哥哥

引用
今天去网易面试了
其中有这么一道题很郁闷
没答出来
原题是这样的
要求用户从键盘上输入一个数字,数字范围是(9位数以内)
要求输出正确的英文单词来

如:
用户输入:
1,返回:one

你到底想怎样


引用


123不是one two three
而是one hundred twenty three
18 楼 下一站,火星 2009-09-09  
楼上的哥哥

引用
今天去网易面试了
其中有这么一道题很郁闷
没答出来
原题是这样的
要求用户从键盘上输入一个数字,数字范围是(9位数以内)
要求输出正确的英文单词来

如:
用户输入:
1,返回:one

你到底想怎样
17 楼 bcccs 2009-09-09  
下一站,火星 写道
火星叔叔马丁 写道
下一站,火星 写道
s = {:1=>'one', :2=>'two'**********}


2行代码的事情



打屁股 你也没仔细看题目 9位数 不是0-9

嘿嘿,9位数怎么了?
nums = {'1'=>'one', '2'=>'two',**********}
params[:iuputs].to_a.each  do |input|
   puts nums['input']
end 

不带 位数,应该被打死。不是让你报数。
16 楼 Checkmate 2009-09-09  
123不是one two three
而是one hundred twenty three
建议去看看工行转帐时数字变汉字的脚本
15 楼 moonskyfox 2009-09-09  
多少位后 million,多少位后thousands,多少位后是XX-ty。。。
首先要判断长度,弄好它的数量级
另外特殊的,1-20单独列出来咯
貌似以前做过一个输入数字,转换成中文“x亿x千x百x十x万x千x百x十x元.x角x分”的例子。和这个有点像。不过英文的,要更加麻烦,至少,面试的时候,1-20我不一定能保证打出来的字是对的。。。囧
14 楼 下一站,火星 2009-09-09  
火星叔叔马丁 写道
下一站,火星 写道
s = {:1=>'one', :2=>'two'**********}


2行代码的事情



打屁股 你也没仔细看题目 9位数 不是0-9

嘿嘿,9位数怎么了?
nums = {'1'=>'one', '2'=>'two',**********}
params[:iuputs].to_a.each  do |input|
   puts nums['input']
end 
13 楼 下一站,火星 2009-09-09  
s = {'1'=>'one', '2'=>'two', **********}
puts s['input']

2行代码的事情
12 楼 bcccs 2009-09-09  
瀚愚 写道
楼上的各位,人家是9位数字以内

如何嘞?

相关推荐

    面试题整理——面试官的刁难提问和准备策略

    4. **问题反问**:面试不仅是面试官提问,你也可以反问,这表现出你对公司和职位的关注和热情。 通过充分的准备和恰当的策略,你可以有效地应对面试中的各种挑战,展现出自己的最佳一面。记住,面试是一个双向选择...

    公务员面试题库公务员面试模拟题之面对新领导刁难怎么办.pdf

    公务员面试题库公务员面试模拟题之面对新领导刁难怎么办.pdf

    学生会面试刁难问题集合.docx

    【学生会面试】是大学校园生活中一个重要的环节,旨在选拔具备一定能力和服务意识的学生加入到学生组织中。面试过程往往包含一系列刁难性问题,旨在考察面试者的...最后,真诚和自信的态度也会给面试官留下深刻的印象。

    13 面试官为什么要刁难你.mp3

    13 面试官为什么要刁难你.mp3

    13 面试官为什么要刁难你.mp4

    13 面试官为什么要刁难你.mp4

    Java面试题之面试被问到Java组件实现原理时,该可以从哪些角度回答

    总结起来,面试官询问组件实现原理并非故意刁难,而是为了评估你的专业技能和问题解决能力。因此,深入理解并能详细解释这些组件的工作原理,对于Java开发者来说至关重要,不仅能够提高面试成功率,也能在工作中发挥...

    八种面试“刁难”问题应对办法.docx

    总的来说,面试是双向的,不仅是面试官评估你,也是你评估公司的机会。面对刁钻问题,保持专业、诚实和自信,同时展现出对工作的热情和解决问题的能力。记住,每个问题都有其目的,理解面试官的意图并以积极的态度...

    数据库面试题

    用于数据库面试时候,有了它,不再害怕面试官的刻意刁难,好好记下

    教师-经典面试题汇总-含答案.pdf

    【教师面试知识点】 1. 自我介绍:面试者需准备一份2-3分钟的自我介绍,强调个人的优势,如学习成绩、语言表达能力和专业素养。自我介绍是展示个人精明干练的重要环节。 2. 交谈比例:面试者应遵循80/20原则,承担...

    简单面试宝典 面试不再怕

    - 了解压力面试的目的,它是测试你在压力下的应对能力,而非故意刁难。 6. **提问环节**: - 不要忘记在面试结束时提问,这表明你对公司和职位有深入了解和兴趣。 - 提前准备一些问题,例如公司的发展计划、团队...

    百度面试经验

    - **面试感受**:面试官给人以亲切感,气氛较为轻松,重点在于交流而非刻意刁难。 3. **第三次面试**: - **面试官角色**:技术总监 - **面试内容**:更加宏观层面的探讨,例如应试者的职业规划、对百度的贡献...

    10个常见的Redis面试"刁难"问题1

    以下是一些Redis面试中常见的问题及其详细解答: 1. Redis的数据结构有哪些? Redis提供了丰富的数据结构,包括基本的String、Hash、List、Set和Sorted Set。对于高级用户,还有HyperLogLog用于估算基数、Geo用于...

    27套希赛网工练习题下.rar

    27套希赛网工练习题下.r 练习的材料

    国家公务员面试模拟预测试题四.pdf

    在国家公务员面试中,模拟预测试题主要考察应聘者的综合素质,包括问题解决能力、团队协作精神、沟通协调技巧以及对工作的态度和理念。以下是对这些试题的深入解析: 1. 对于“三个臭皮匠赛过一个诸葛亮”的现象,...

    面试常见问题及回答_面试技巧及注意事项_面试题目及答案.pdf

    大部分的面试官不会用有关运动的问题刁难你。他们问一些难题是为了获得心里确切的突破口。他们这样做的动机是要快速地了解你,以便作出一个明智的选择——决定你是留是去。 在面试中,老板们通常会问一些问题,如...

    产品经理面试常见问题.pdf

    在求职过程中,产品经理需要面对各种类型的面试,包括群面、一般类型面试、专业类型面试、个人或刁难类型面试等。面试中常见的问题可以大致分为以下几个方面: 1. 群面:群面是多个候选人同时参加的面试形式,考核...

    初中语文文摘社会遭遇刁难

    初中语文文摘社会遭遇刁难

    it码农面试必备的宝典

    深入浅出的让你适应如何面对面试官的各种刁难,希望大家能找到好工作!

    面试中常见的问题及回答技巧 .doc

    应对面试中的刁难问题时,重点在于展示你的思考过程,而不是急于给出一个完美的答案。例如,当面对类似于“北京有多少公交站”的问题时,可以表达出愿意积极寻找并提供准确信息的意愿。 在面试中还有一些加分技巧,...

Global site tag (gtag.js) - Google Analytics