阿里实习生-客户端笔试题目解析

1.在网络传输数据时,经常需要将二进制数据转换为一个可打印字符串,一般用到的可打印字符集合包含64个字符,因此又称为Base64表示法,现有一个char数组长度为12,要将它表示为Base64字符串,请问Base64字符串至少需要几个char;如果char的长度为20,则需要几个char。
解答:
char是一个基本数据类型。它可以表示一个byte大小的数字,即8位,而Base64使用基于6位的编码。所以就是12x 8/6 = 16;而20 x 8/6 = 20 x 4/3 = 24 + 2.666 ,多余的需要用 ====补齐到4位,所以是28。
答案:16,28
应用实例:
1.在HTTP GET/POST中一般都需要对参数进行base64编码
2.在OSX中的.plist文件中的数据也是Base64编码的

2.某部门年会的时候,有个环节叫做《国王和天使》,每个人将自己的名字写在纸条上并丢入盒子中,等所有人都完成该动作后,每个人再从盒子里拿出一张小纸条,上面的人物就是自己的国王,自己就是ta的天使,如果抽到自己,就再抽一遍,直到抽到别人为止,如果用有向图来表示他们之间的关系,那么以下结论错误的是_?

  1. 最后的结果可能是存在多个联通分支
  2. 联通分支个数最多不超过人数的二分之一
  3. 最后的结果可能是存在多个强联通分支
  4. 可以用深度优先算法求得联通数
  5. 可以用双向链表存储其结构
  6. 遍历的复杂度是O(N)
    解答:
    这个题目有三个BUG,当是人数三个人

猜你喜欢

转载自blog.csdn.net/weixin_43860634/article/details/130891151
今日推荐