暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

面试杂谈:为什么明明答的不错,却往往失之交臂

Java面试百分百 2021-08-17
173
    这是我的第一次面试。那个公司的技术和我寒暄后,递给我一道笔试题,
    题目的大概意思是:“写一个函数,返回一个数组中所有元素被第一个元素除的结果”。
    为了保证理解无误,我还问了一些问题。在对方简单解释后,便开始在电脑上敲敲
    打打,我想这题目也不难,怎么写才能体现我的代码功底呢?
    于是我就把循环倒着写for (i = n; i>=0; i--),因为我当时看到一本Unix书上
    是这么写的。
    void DivArry(int * pArray , int size)
    {
    for (int i = size - 1; i>=0; i--)
    {
    pArray[i] /=pArray[0];
    }
    }
    交上去后,面试官便问我,为什么这么写循环。我说这么写不对吗?他说,也可以,
    但是正这写会出现什么问题呢?
    陷阱啊!陷阱。
    如果循环从数组的第一个元素开始,并且不用其他变量的话,在循环的第一步,
    第一个元素就变成了1,然后再用它除以其他元素,就不符合题目的要求了。
    同样的还有是否存在除数为零,以及参数的检查等等。
    即便你将上述的情况考虑到位了,面试官还是有招等着你的。
    例如:如果要测试刚才所写的函数,测试用例多少,改变一些条件是否还能做出来。

    对于面试而言,面试题大都不难,在面试的过程中更多看的是面试者的基本功、思维、分析、编程能力等方面。

    这里我也建议大家:

    1、不要盲目的去记一些面试题,而是对这些问题能够有自己的理解、见解;

    2、打好自己的基本功(哪怕入职后也是如此),这样才会有更加多元的思考维度,从不同的维度去看待问题,寻找最优解。

    文章转载自Java面试百分百,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

    评论