微软 AzurePaaS 二面

整个面试过程极简,35min,kpi

  1. 自我介绍 3min
  2. 介绍一个你觉得可以的项目 5min
  3. 做题 20min:给你一个string,输出这个string+1(十进制)
  4. 我做的是判断这个string是否为int/float,是就数位+1
  5. 如果是其他的,就直接最后一个字符+1
  6. 但是这里面试官我没考虑到哪些,我想到了没考虑到负数,面试官提示字符串溢出问题,我当时没想出来,后面一搜发现字符串竟然还分unsigned和signed,属实是扫盲了
  7. 无符号 char (unsigned char): 可以表示的范围是从 0 到 255。
  8. 有符号 char (signed char): 通常可以表示的范围是从 -128 到 127。
unsigned char uch = 255;
uch++; // 由于溢出,uch 的值变成 0

signed char sch = 127;
sch++; // 行为未定义,但在很多实现中,sch 可能会变成 -128

当你对一个 char 类型的变量进行增加或减少操作,使其超过了上述范围时,就会发生溢出。在 C++ 中,无符号类型的溢出行为是定义良好(well-defined)的,会发生模(modulo)运算,例如,对于 unsigned char 类型,256 会变成 0,-1 会变成 255(如果你在代码中直接写 -1 或其他负值,编译器在编译时会把它转换成对应的正值)。对有符号类型而言,溢出是未定义的行为(undefined behavior),编译器可以随意来处理这种情况。

#软件开发2024笔面经#
全部评论
大佬过了吗
2 回复 分享
发布于 04-04 19:18 广东
uu通过微软的二面了吗
点赞 回复 分享
发布于 04-02 16:51 浙江
这个题目挺有难度的
点赞 回复 分享
发布于 04-02 16:56 浙江
楼主之前有过实习吗
点赞 回复 分享
发布于 04-02 17:02 辽宁
如果是我的化肯定是挂
点赞 回复 分享
发布于 04-02 17:10 福建
楼主真厉害啊
点赞 回复 分享
发布于 04-02 17:16 上海
加油
点赞 回复 分享
发布于 04-04 17:12 黑龙江

相关推荐

11 17 评论
分享
牛客网
牛客企业服务