字节跳动 飞书跨平台客户端开发 秋招凉经

本人双非本科,普通211硕,非计算机专业。
共面了三次,今日(2020 08 19)收到感谢信。
祝大家好运。

整个过程全部使用飞书进行面试

一面(08 09,1h20min):

自我介绍
聊了半个小时的项目,其中牵扯到多线程同步和通讯,问了具体的实现方法
包括但不限于以下内容:
锁和信号量的区别,进入临界区的原则,你是如何在项目中应用这些知识的等等...

之后是基础概念:

构造函数(可否重载,深浅拷贝,调用时机,拷贝构造调用时机,重载赋值运算符调用时机)

虚函数指针和虚函数表(数据对象还是类?如何工作?如何理解多态,虚函数指针存在什么区)

内存分区(栈,DATA(bss,常量,堆,全局区...),代码区)

Qt的信号和槽是如何实现的,你自己设计怎么设计

TCP拥塞控制有什么算法?慢启动为啥指数增长

如何理解滑动窗口?简述工作机制?这种机制有没有什么问题?

TCP三次握手和四次挥手,及原因

TCP如何保障可靠传输

TCP攻击手段

常见的编码形式:ascii,utf8
汉字字节长度,最长多长,编码之间的区别

new 数组,delete没有写方括号,会出现什么情况?

二面(08 13,1h):

1:自我介绍
让我共享屏幕,开始敲代码,能写的都要去写出来
2:violent关键字的作用
3:数组指针和指针数组
4:指针常量和常量指针
5:static关键字作用
6:const关键字作用
7:作用域概念
8:继承,重载,多态
9:函数指针

两道算法:
1:反转链表:
//单链表的反转
struct LinkNode{
LinkNode * next;
int val;
};

LinkNode * ReverseList(LinkNode * head){
    if(head == nullptr) return head;
    LinkNode * Newhead; 
    LinkNode * pre = nullptr;
    LinkNode * pcur = head;
    while(pcur){
        LinkNode * Next = pcur->next;
        pcur->next = pre;
        pre = pcur;
        pcur = Next;
    } 
    Newhead = pre;
    return Newhead; 
}

2:给定一颗二叉树,找到从根结点开始,到最深叶子节点的路径,左子树为0,右子树为1
//二叉树 找到最深的叶子结点 左子树是0,右子树是1

struct TreeNode{
    TreeNode* left;
    TreeNode * right;
    int val;
};
void DFS_deep(TreeNode * root,int deep);
void DFS(TreeNode * root,string target,int deep);

int Deep = 0;
vector<string>Res;

vector<string> main(TreeNode * root){
    if(root == nullptr) return "";
    //计算深度
    DFS_deep(root,0);
    //找到深度为最深的,从根结点到叶子结点的路径
    DFS(root,"",0);
    return Res;
}

void DFS_deep(TreeNode * root,int deep){
    if(root == nullptr) return;
    deep++;
    Deep = max(Deep,deep);
    DFS_deep(root->left,deep);
    DFS_deep(root->right,deep);
}

void DFS(TreeNode * root,string target,int deep){
    if(deep == Deep) {
        Res.push_back(target);
        return;
    }
    if(root == nullptr) return target;
    string Ori = target;
    if(root->left) {
        Ori += '0';
        DFS(root->left,Ori,++deep);
    }
    if(root->right) {
        Ori += '1';
        DFS(root->right,Ori,++deep);
    }
}

第一个很简单
第二个本人第一次遇到

以上两道题目的代码都是现场敲的,这里直接贴出来
面试的时候笔记本很慢,IDE启动了半天,最后面试官让用记事本写的。

三面(08 17,45min):

三面一转前两面的风格,面试官问的问题非常基础,根本不深究,我回答完也基本不追问,直接下一个问题。

自我介绍
TCP三次握手和四次挥手,及原因
虚函数指针和虚表
HTTP和HTTPS
SSL加密
进程线程区别
进程通信方式
循环展开
linux相关

之后让我看了两道代码题。
一个关于malloc和free
一个关于char str[] = "asdfafaf";

因为一面时间有点久,很多问题都忘记了。

祝大家好运



#面经##校招##C++工程师#
全部评论
楼主你好,请问你是什么岗位?开发的话,是Java方向还是C++方向?或者其他语言方向~
点赞 回复 分享
发布于 2020-08-19 18:46
为啥没过?
点赞 回复 分享
发布于 2020-08-19 18:51
以为客户端会简单点。。
点赞 回复 分享
发布于 2020-08-19 19:20
飞书对非科班很歧视,慎重投递
点赞 回复 分享
发布于 2020-08-19 20:39
这violent关键字😂应该是volatile吧
点赞 回复 分享
发布于 2020-08-20 11:17
楼主,问一下跨平台客户端开发 C++是干嘛的?
点赞 回复 分享
发布于 2020-09-23 14:46

相关推荐

09-22 19:03
南昌大学 Java
第一个offer是迪子发的,但是高兴不起来
捡走一只羊:就像:好久没谈念爱了,突然有个不喜欢的女生给自己表白
点赞 评论 收藏
分享
Whisper_RU:是的…欢迎投一下优选部门
点赞 评论 收藏
分享
喜欢吃卤蛋的肖恩在参加牛客活动:你们结束聊天,是不是还要来个四次挥手😂
点赞 评论 收藏
分享
bgC9本,屡屡被挂,理科专业也不是天坑,也有两段对口实习
掩卷思:看运气佬,别气馁,等十月鸽offer应该还有很多机会
点赞 评论 收藏
分享
4 32 评论
分享
牛客网
牛客企业服务