面试总结一

2014年9月18日,今天早上面了一家创业小公司,已经融资了几轮,是做互联网广告的。

投的测试开发,但我真的很久没写过代码了,所以有点虚,投的时候也就看到职位需求没特别说代码能力就上了。

结果面了3轮,基本都是写比较基础的算法,然后自己设计测试案例,看有几个能跑过。

汗一个,基本我写的代码跑我写的测试案例,就没多少能过的。。。


第一轮:两个数组A和B,A里面无重复数字,B里面也无重复数字,B里面所有的元素都出现在A里面,要求按照B的顺序对A进行修改。

比如: A=[1,2,3,4,5,6] B=[5,1,3],那么修改后,A变为[5,2,1,4,3,6]。

这个题目变化下是A中有重复数字,做响应改变是exist函数返回每个数出现的次数,然后计算时根据次数重复赋值。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void display(int[] x)
        {
            foreach (int i in x)
            {
                Console.Write(i.ToString()+" ");
            }
            Console.WriteLine();
        }

        static bool exist(int x, int[] y)
        {
            for (int i = 0; i < y.Length; i++)
            {
                if (x == y[i]) return true;
            }
            return false;
        }

        static void Main(string[] args)
        {
            int[] a = {1, 2, 3, 4, 5, 6};
            int[] b = {5, 1, 3};
            display(a);
            display(b);

            int j=0;
            for (int i = 0; i < a.Length; i++)
            {
                if (exist(a[i], b))
                {
                    a[i]=b[j];
                    j++;
                }                
            }

            display(a);

            Console.ReadKey();
        }
    }
}


第二轮:给出3个整形值,如果不能组成三角形,返回-1;普通三角形,返回0;等腰三角形,返回2;等边三角形,返回3;

我的代码只能说功能上是通过的,不过代码质量很差。。。

这里面试的时候问我哪里会越界,我说两边相加时,然后问怎么规避:

想了半天,两个办法:显示转成float(白痴回答。。。);每个数计算时先除以2

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static int triangle(int x, int y, int z)
        {
            int i = -1;
            if (x <= 0 || y <= 0 || z <= 0) return i;
            if (x + y <= z || x + z <= y || y + z <= x) return i;
            i = 0;
            if (x == y || x == z || y == z) i = 2;
            if (x == y && x == z) i = 3;
            return i;
        }
  

        static void Main(string[] args)
        {
            Console.WriteLine(triangle(1, 1, 9).ToString());
            Console.WriteLine(triangle(4, 4, 5).ToString());
            Console.WriteLine(triangle(-1, 3, 3).ToString());
            Console.WriteLine(triangle(3, 3, 3).ToString());
            Console.WriteLine(triangle(3, 4, 5).ToString());
            Console.ReadKey();
        }
    }
}


第三轮:单链表反转

参考http://ceeji.net/blog/reserve-linked-list-cpp/

http://blog.csdn.net/shichexixi/article/details/7873474

写的很详细。


下午继续面了一家互联网翘楚企业,面了两轮,一轮测试专家,一轮测试主管。

两轮都是谈的工作经验比较多,不过该公司用的都是Java,而我只接触过C++和C#,所以都问了如果学Java要多久的问题。

一些记得需要改进的地方:写代码能力要加强(暂时不知道咋弄,以后一边写自动化一边加强),shell脚本的搜索等(不太清楚,感觉用python可以替代,先把python学完,再看是否有必要弄本shell的看看),接触移动端的东西(我也很想,不过目前没啥门路,只能有空的时候自己捣鼓下),测试框架的使用(小妹推荐了TestNG,看以后能不能结合工作一起用)

基于此,目前的自我学习计划是python,mysql,Java,TestNG,Mobile

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值