趣文网 > 作文大全

记一次某AMCAT测评网站在线编码测试

2020-12-18 05:15:01
相关推荐

几天前某公司HR发来消息,要求参加某AMCAT标准测试网站的在线测评,据说是技能测试,测试题目均为通用性试题。

打开测试链接登录成功,提示需要打开摄像头,允许摄像头权限,录入相关信息后进入考试引导界面,看清楚相关操作后跳转到正式测评界面。看到第一个题目,阅读题干,选择编程语言(里面发现可以选择的语言还是蛮多的C、C++、Java、C#)准备做题发现界面卡住了,尝试刷新了一下页面发现直接强制退出了。再次登录时提示请N分钟后再次尝试……

等待了漫长的几分钟,重新登录成功,开始做第一题。第一题大概是这么描述的:“某商户需要设计一个算法寻找幸运客户,在系统输入数字N,返回一个数字X用于代表第X个订单,该订单对应的便是幸运客户。该算法中生成一个序列,其中每个数字是前2个数字之和,一开始序列中包含2个初始数均为1。”其实题目罗嗦来一堆废话,真实意图是需要我们返回斐波那契数列/兔子数列(Fibonacci sequence)的第N个数。

斐波那契数列(Fibonacci sequence)

这个以前上学的时候就写过,这个算法有2种写法,递归方式和非递归方式。上学那时候只想到过递归,实现很简单:n=1返回1,n=2返回1,其他返回f(n-2)+f(n-1)。但是递归这种方式效率很差。非递归的方式:

public static long getNumber(int n) {

long[] f = new long[n + 1];

f[1] = 1; f[2] = 1;

for (int i = 3; i <= n; i++) {

f[i] = f[i - 1] + f[i - 2];

}

return f[n];

}

事后在线下电脑测试对比了2种算法的效率,输入N=50时:输出结果12586269025,递归方式耗时63秒描述,循环数组赋值方式耗时0秒,当N=100时递归方式等了几分钟都没有得出结果。

第二题,题目意思大概是输入一串字符串,输出字符串中不符合规则(A-Z、a-z、空格、0~9)的字符。这个题目还算比较简单,解法多种多样,就不在此处累述了。

考试心得

这类网站的测评题目一般不会太难,比起那些ACM算法题目还是简单了不少,当然运气不好遇到题目都看不懂的就郁闷了。最重要的是审题看懂题目意思,有时候只看题干不是很理解,可以结合下面的样例说明,理解题目意思就好办了。

选择自己最熟悉的编程语言,最基本的语法要很熟悉,因为这种在线编程测评的网站,编辑器的语法提示功能你不要指望能有多强大,基本上只能使用System下面的包或者类库。

题目可以切换,如果遇到第一道题目觉得没有思路,不妨切换到第二道题目等完成第二道题,返回再做第一题。

编写的代码算法要考虑效率问题,在时间足够的前提下。另外需要注意输入参数是否需要考虑边界问题。

调试的时候,需要注意测试用例是否都通过,一般会有提示:n个测试用例通过n1个,不通过个数n2。如果有不通过的情况,可以检查代码进一步优化。

阅读剩余内容
网友评论
相关内容
延伸阅读
小编推荐

大家都在看

敬老爱老的作文 你是我最感激的人作文 祖国我想对你说的作文 我的姥姥作文200字 小学作文成长的烦恼 捉迷藏三百字作文 点亮心中的那盏灯作文 泰山游记作文400字 月亮200字作文 以月亮为话题的作文 关于毕业季的作文 青春的英语作文 我理想的婚姻英语作文 温暖留在心里作文600字 我的傻爸爸作文 描写天气的作文100字 介绍东西的作文 全国劳动模范作文 关于徐霞客的作文 中国成立作文 学英语的经验英语作文 我爱吃什么作文 激动的泪水作文500字 初中语文作文题目 名胜古迹的作文400字 小学生清明节作文 作文白衣天使 烧烤英文作文 国庆作文高一 我的梦想作文600字医生