Ali实习生笔试总结

1.64位操作系统,int型大小仍然为4。

 32位编译器:

      char :1个字节
      char*(即指针变量): 4个字节(32位的寻址空间是2^32,32bit,也就是4个字节。同理64位编译器)
      shortint : 2个字节
      int  4个字节
      unsignedint : 4个字节
      float:  4个字节
      double:   8个字节
      long:   4个字节
      long long:  8个字节
      unsigned long:  4个字节

  64位编译器:

      char :1个字节
      char*(即指针变量): 8个字节
      shortint : 2个字节
      int  4个字节
      unsignedint : 4个字节
      float:  4个字节
      double:   8个字节
      long:   8个字节
      longlong:  8个字节
      unsigned long:  8个字节

2.输出为2,别想太多。

char fun(char x, char y)
{
	if (x) return y;
}

int main()
{
	int a = '0', b = '1', c = '2';
	cout << fun(fun(a, b), fun(b, c));
}

3.过桥老问题,A、B、C、D过桥为1、2、5、10分钟。

1AB过,A回【3分钟】

2CD过,B回【12分钟】

3AB过【2分钟】

累计312217分钟

4.

int main()
{
	int x, z;
	short y;
	x = 127;
	y = -9;
	z = x + y;
}
输出:

z 0x00000076int
x 0x0000007fint
y 0xfff7short

5.运行时间多久?

int f(int x)
{
	int s = 0;
	while (x-- > 0)	
		s += f(x);
	return max(s, 1);
}

int main()
{
	f(35);
}

处理器级CPU3.5G主频运行为915s。应该算分钟级?

6.一棵树度为4,其中度为1,2,3,4的结点个数分别为4,2,1,1,则这棵树的叶子节点个数为多少?

解:因为任一棵树中,结点总数=总分支数目+1,所以:
n0+4+2+1+1 = (n0*0 + 1*4 + 2*2 + 3*1 + 4*1)+1
则:n0=8
其中:n0表示叶子结点。

7.天有个年轻人来到王老板的店里买了一件礼物这件礼物成本是65元,标价是80元。结果是这个年轻人掏出100元要买这件礼物。王老板当时没有零钱,用那100元向街坊换了100元的零钱,找给年轻人20元。但是街坊后来发现那100元是假钞,王老板无奈还了街坊100元。

年轻人用100元假钞(废纸)即零成本,共换取价值65元的礼物和20元的真钞,总价值85元,所以说王老板亏损了85元。

8.问题:在一个重男轻女的国家里,每家每户都想生男孩。若一户人家生了一个女孩,便会再生一个,直到生下的是男孩为止。请问这个国家的男女比例是多少?(google 2008面试?)
解答方法1---猜答:这种情况无疑跟现实中中国国情很相似,考虑到题目唯一性和极限特征,虽然目前比例是1.06:1。剔除其他因素影响,答案应该为1:1.

9.有一个C类地址为:  192.9.200.13  其缺省的子网掩码为: 255.255.255.0   

则它的网络号和主机号可按如下方法得到:  

① IP地址 192.9.200.13    转换为二进制11000000 00001001 11001000 00001101  

② 子网掩码255.255.255.0   转换为二进制11111111 11111111 11111111 00000000  

③ 将两个二进制数逻辑与(AND)运算后得出的结果即为网络部分 
即网络号为192.9.200.0  
④将子网掩码取反再与IP地址逻辑与(AND)后得到的结果即为主机部分 
 即主机号为13(或者0.0.0.13)。

资源下载链接为: https://pan.quark.cn/s/22ca96b7bd39 在当今的软件开发领域,自动化构建与发布是提升开发效率和项目质量的关键环节。Jenkins Pipeline作为一种强大的自动化工具,能够有效助力Java项目的快速构建、测试及部署。本文将详细介绍如何利用Jenkins Pipeline实现Java项目的自动化构建与发布。 Jenkins Pipeline简介 Jenkins Pipeline是运行在Jenkins上的一套工作流框架,它将原本分散在单个或多个节点上独立运行的任务串联起来,实现复杂流程的编排与可视化。它是Jenkins 2.X的核心特性之一,推动了Jenkins从持续集成(CI)向持续交付(CD)及DevOps的转变。 创建Pipeline项目 要使用Jenkins Pipeline自动化构建发布Java项目,首先需要创建Pipeline项目。具体步骤如下: 登录Jenkins,点击“新建项”,选择“Pipeline”。 输入项目名称和描述,点击“确定”。 在Pipeline脚本中定义项目字典、发版脚本和预发布脚本。 编写Pipeline脚本 Pipeline脚本是Jenkins Pipeline的核心,用于定义自动化构建和发布的流程。以下是一个简单的Pipeline脚本示例: 在上述脚本中,定义了四个阶段:Checkout、Build、Push package和Deploy/Rollback。每个阶段都可以根据实际需求进行配置和调整。 通过Jenkins Pipeline自动化构建发布Java项目,可以显著提升开发效率和项目质量。借助Pipeline,我们能够轻松实现自动化构建、测试和部署,从而提高项目的整体质量和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值