美文网首页
网易上级笔试题

网易上级笔试题

作者: subject_2619 | 来源:发表于2017-09-10 17:05 被阅读0次

2018网易上级笔试题,总共分为三个部分,第一部分是选择题,难度可能可能根据不同的岗位难度不太一样,反正我做的是iOS客户端选择题,处于中等水平吧,不是很难。第二部分是编程题,总共是三大题,我只做了第一题和第三题,第二题感觉有点难度,反正是花了2分钟理解题目,直接放弃了。第三部分是问答题,有2个小题目。
第一部分20道选择题,就不多说了。
第二部分,第一道编程题是相反数题目。比如说给一个数字23,然后将这个数按照相反的顺序变成32,然后再将32和23相加,得到的数输出,确实挺简单的,代码如下:

       long Decimal(long number)
        {
            long tmp1, tmp2 = 0;
            long tmp = number;
            if (tmp < 1)
                return -1;
            if (tmp < 10)
                return tmp*2;
            tmp1 = tmp;
            while(tmp/10 !=0)
            {
                tmp2 = tmp2 * 10 + tmp % 10;
                tmp = tmp / 10;
            }
            tmp2 = tmp2 * 10 + tmp % 10;
            long returnNumber = tmp1 + tmp2;
            return returnNumber;
        }

编程第二题,没搞懂,我就不献丑了
编程第三题,要求比较多,首先是从界面输入一个数组,数组中经过任意的换位置,看这个数组能不能满足a[i]*a[i+1]能够被4除尽,可以的话就输出true,否则为false,但是这只是一半的要求,还要求我们从界面输入一个数字,该数字表示你要输入几个数组,然后一个输入数组的个数和数组的内容,格式如下:

输入输出的要求
      public static void Main(string[] args)
        {

            Console.Write("输入一个 数组个数:");
            string numberStr = Console.ReadLine();
            int number = Convert.ToInt16(numberStr);

            for (int i = 0; i < number; i++)
            {
                Console.Write("输入一个数组长度:");
                int lenth = Convert.ToInt16(Console.ReadLine());
                string str = Console.ReadLine();
                string[] numStr = str.Split(new string[] {" "}, StringSplitOptions.None);
                if (numStr.Length != lenth)
                    return;
                bool result = IsNiuBoShi(lenth, numStr);
                Console.Write("结果:");
                Console.WriteLine(result);
            }
        }

        static bool IsNiuBoShi(int length, string[] arr)
        {
            if (arr.Length == 0 && length != arr.Length)
                return false;
            int tmp1 = 0, tmp2 = 0;
            for (int i = 0; i < length; i++)
            {
                int tmp = Convert.ToInt16(arr[i]);
                if (tmp % 4 == 0)
                    tmp1++;
                if (tmp % 4 != 0 && tmp % 2 == 0)
                    tmp2++;
            }
            if (tmp1 + tmp2/2 >= length / 2)
                return true;
            else
                return false;
        }

第三部分为解答题:
第一小题为:unrecognized selector sent to instance的原因,已经报错之前的整个过程,简单说一下,这个题目网上应该很多,原因是对象的提前释放,大家可以网上百度一下就出来了。
第二小题,就是在分类/Category中添加一个属性,这里用到了Runtime机制,不懂得大家可以看一下我的上篇文章。

哪里有不对的地方或者有更好的方法,大家一起来讨论一下吧!

相关文章

网友评论

      本文标题:网易上级笔试题

      本文链接:https://www.haomeiwen.com/subject/jmctsxtx.html