前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >字节跳动游戏服务端三面面经

字节跳动游戏服务端三面面经

作者头像
opencode
发布2022-12-26 15:23:23
3680
发布2022-12-26 15:23:23
举报
文章被收录于专栏:知识同步

做做别人的面试题

一面

1. 小写char转大写char

大写字母AZ的ascii码的范围是65-90 大小写字母的值相差32,所以小写字母的范围是97122

代码语言:javascript
复制
void change(char source)
{
    return source-32;
}

2. 比较两个char数组是否相同

直接循环

代码语言:javascript
复制
bool compare(char s[], char t[])
{
    if (sizeof(s) != sizeof(t)) return false;
    for (int i = 0; i < sizeof(s); i++)
    {
        if (s[i] != t[i]) return false;
    }
    return true;
}

3. printf过程

???这想问的啥

大概是printf底层调用了puts,而puts使用的是系统调用

4. c++进程异常退出有哪些可能

  • 程序错误,访问非法内存,比如空指针,空路径,指针释放失败
  • 程序主动结束,kill()等
  • 其他进程发送终止信号

5. 重复delete出错原因

重复delete会抛出异常,指针存的是地址,所以因为第一次delete后,对应地址的内存内容被清空了,此时指针置空,对一个空指针操作会产生异常

6. 静态库和动态库

静态库一般是.lib文件, 动态库一般是dll文件

静态库是在程序编译时加载,而动态库时程序运行时加载,所以使用静态库的工程体积和占用内存较大,而动态库的较小

7. 斐波那契数列,数很大时如何优化

这个题目我理解为斐波那契数列如何优化

我会用空间换时间,定义一个数组,保存该轮计算的结果供下次使用,例如

代码语言:javascript
复制
vector<int> record<n+1, 0>;
record[1]=1;
record[2]=1;

int Feb(int n){
    if(record[n]!=0) 
    {
        record[n];
    }
    record[n]=Feb(n-1)+Feb(n-2);
    return record[n];
}

8. 跳表和B+树和红黑树

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-02-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一面
    • 1. 小写char转大写char
      • 2. 比较两个char数组是否相同
        • 3. printf过程
          • 4. c++进程异常退出有哪些可能
            • 5. 重复delete出错原因
              • 6. 静态库和动态库
                • 7. 斐波那契数列,数很大时如何优化
                  • 8. 跳表和B+树和红黑树
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档