AMD中秋节笔试题目

首先,题目都是全英的。这个确实读题会慢一些,单词基本都认识,不认识的基本都可以猜出来,最大的影响可能是读题慢一点。包含15道选择题(10个单选,5个多选),2道编程题。

选择题都比较常规的,都是一些基础的知识,现在还记得有:

  • 一个是关于LSB(字节意思感觉是最低有效位的一个判断,也是属于C语言位运算的一个题目)
  • 一个是关于动态链接库的,有一些选项,判断对错。
  • 还有一个是关于C语言计算优先级的,核心是()、*、%、+等优先级顺序。
  • 还有两道关于进程和线程的题目。
编程第一题:

一个32位的无符号整数,请帮助它交换其二进制位,将第0位和第31位交换,将第1位和第30位交换,以此类型,直到交换其第15位和第16位。

#include <stdlib.h>
#include <stdio.h>
#include <math.h>
// 核心是采取移位的方法,我记得也可以通过计算的方式来实现,具体可自行百度
unsigned int reserve_bit(unsigned int num)
{
    unsigned int ret = 0;
    int bit = 0;
    int i = 0;
    // 遍历原始数的每一位
    for (i = 0; i < 32; i++)
    {
        // 每一次先往结果中移位一个二进制的1,那么移位32次就可以构造出结果了
        ret <<= 1;
        // 提取出来原始数的当前位(按位与提取)
        bit = num & 1;
        // 将结果的当前位计算出来
        ret = bit | ret;
        // 将原始数右移移位(丢掉一个低位)
        num = num / 2;
    }
    return ret;
}

方法的核心是一次将num的最低位写到ret中,然后将ret左移,再计算,再左移。

编程第二题:

给定两个不超过一百个元素的整型数组,请帮助找到一个整数,该整数不在这两个数组中。

这个没有代码,emmmm,这个我直接return 100,就ac了........

经过是这样的:我写的是将两个数组排序,然后去重并合并这两个有序数组,之后再从1遍历到其最大值,将找到的第一个返回,但是我自己写的函数,我准备看看去重合并的效果咋样,发现调试有问题,自测不支持自己在外面写的函数(showmebug平台),我一看时间,就剩5分钟了,直接将代码全部注释掉,换成return 100,结果提示我pass了..........,噗,我就直接交题了,ahhhhh

最后,请各位大佬们去个人主页帮忙投下票。

#笔试##AMD##超威半导体AMD#
全部评论
我AMD笔试完一点动静都没有
3 回复 分享
发布于 2022-09-23 20:24 上海
老哥,时间是1h吗
点赞 回复 分享
发布于 2022-09-23 17:46 上海
大佬,请问你AMD进面了吗?
点赞 回复 分享
发布于 2022-09-23 14:17 湖南
牛客们,个人动态的offer选择,大家帮忙投下票!
点赞 回复 分享
发布于 2022-09-23 10:53 河南

相关推荐

ALEX_BLX:这华子能怪谁呢,池子泡这么深,每年几乎都是最晚一批开出来的公司,人才早就给抢走了。又不是人人都是博士生
点赞 评论 收藏
分享
评论
4
11
分享

创作者周榜

更多
牛客网
牛客企业服务