【笔试强训】Day 4,2024年最新2024大数据开发者真的太难了

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新大数据全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip204888 (备注大数据)
img

正文

D Oxf8b821c0

  • 复杂点的解方程计算

在这里插入图片描述

答案选A

根据下面递归函数:调用函数Fun(2),返回值是多少()

int Fun(int n)
{
	if(n==5)
		return 2;
	else
		return 2\*Fun(n+1);
}

A 2
B 4
C 8
D 16

这个自己套一下就出来结果了,就不说了

答案是D

以下程序的输出结果是:

#include <iostream>
using namespace std;
void func(char \*\*m)
{
	++m;
	cout<<\*m<<endl;
}

int main()
{
	static char \*a[]={"morning", "afternoon", "evening"};
	char \*\*p;
	p=a;
	func(p);
	return 0;
}

A afternoon
B 字符o的起始地址
C 字符o
D 字符a的起始地址

  • 数组名表示数组首元素的地址,只有在&和sizeof之后才表示数组本身,所以这里的*a指的是首元素的地址也就是morning的地址
  • “morning” —> char* ,所以p必须给成二级指针
  • ++m也就是偏移一个元素的大小,也就是指向了afternoon

在这里插入图片描述

答案选A

求函数返回值,输入x=9999

int func(int x){
int count=0;
while (x)
{
	count++;
	x=x&(x-1);//与运算
}
return count;
}

A 8
B 9
C 10
D 12

  • 首先我们来看看这个算法是什么来头
  • 接下来就算9999的二进制中有多少个1?算呗

在这里插入图片描述

答案是A

#include <stdio.h>
int cnt = 0;
int fib(int n) 
{
	cnt++;
	if (n == 0)
		return 1;
	else if (n == 1)
		return 2;
	else
		return fib(n - 1) + fib(n - 2);
}
void main() {
	fib(8);
	printf("%d", cnt);
}

下列程序执行后,输出的结果为()
A 41
B 67
C 109
D 177

  • cnt实际统计的是:斐波那契递归的总次数

在这里插入图片描述

答案选B

在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是()

struct A
{
	int a;
	short b;
	int c;
	char d;
};
struct B
{
	int a;
	short b;
	char c;
	int d;
};

A 16,16
B 13,12
C 16,12
D 11,16

  • 又是结构体对齐,老生常谈了

在这里插入图片描述

答案选C

🌈编程题

1️⃣计算糖果

题目地址:传送

在这里插入图片描述

解题思路:

  • 枚举法: 算出A、B1、B2、C的表达式,若B1==B2即可知道abc的值为真
  • 在这里插入图片描述
    不多说上代码:
#include <iostream>
using namespace std;

int main() {
    int a,b,c,d;//输入的4个整数
    cin>>a>>b>>c>>d;
    //每个人手里的糖果
    int A = (a+c)/2;
    int B1 = (b+d)/2;
    int B2 = (c-a)/2;
    int C = (d-b)/2;

    if(B1 != B2)
    {
        cout<<"No"<<endl;
    }
    else
    {
        cout<<A<<" "<<B1<<" "<<C<<endl;
    }
}

2️⃣进制转换

题目地址:传送

在这里插入图片描述
解题思路:

  • 首先建立两个字符串s和table分别来存放最后的输出结果、进制的对应各个数字
  • 求得M中的每个数位上的数字(通过%/来实现)
  • M求出的结果放进字符串s中,最后倒置字符串
  • 如果M为负数,注意设flag进行区分处理

在这里插入图片描述

#include <iostream>
#include <string>
#include <algorithm>
using namespace std;

int main() {
    string s = "",table = "0123456789ABCDEF";
    int m, n;
    cin>>m>>n;
    
    //注意当m<0的时候
    bool flag = false;
    if(m < 0)
    {
        m = -m;
        flag = true;
    }
    //注意当m=0的时候
    if(m == 0)
    {
        s = "0";
    }


**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注大数据)**
![img](https://img-blog.csdnimg.cn/img_convert/1e71ec4d1275dd4c1ea4b5f7a257eb61.png)

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**


    }
    //注意当m=0的时候
    if(m == 0)
    {
        s = "0";
    }


**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注大数据)**
[外链图片转存中...(img-WNO9BxB7-1713361923498)]

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值