首页 > 字节跳动 C++开发实习岗
头像
LightningStar
编辑于 2020-11-30 22:39
+ 关注

字节跳动 C++开发实习岗

岗位

C++开发实习岗。
职位描述
1、负责客户端在Windows/MacOS等平台的能力优化和扩展;
2、参与产品需求的讨论、评审和功能实现,对质量负责。
职位要求
1、C++基本功扎实,掌握一门脚本语言,有持续改善意识;
2、对Windows系统机制/MacOS各组件功能及实现方式有深入了解;;
3、本科及以上学历,每周实习3天以上,连续实习3个月以上。

一面

1. 浏览器刷新界面服务器如何区分两次相同的请求?
我回答的是session和cookie,他说不是这意思,就是从客户端发回来的字节序中怎么区分?
2. httpHTTPS在建立连接的时候的区别与联系。HTTPS中的S是指什么?
首先客户端通过URL访问服务器建立SSL连接。
服务端收到客户端请求后,会将网站支持的证书信息(证书中包含公钥)传送一份给客户端。
客户端的服务器开始协商SSL连接的安全等级,也就是信息加密的等级。
客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。
服务器利用自己的私钥解密出会话密钥。
服务器利用会话密钥加密与客户端之间的通信。

3. 多线程中会对全局变量进行pad操作,请问是为啥?
当时没听懂pad是啥,面试官解释说就是padding操作,知道struct中的内存对齐吧,就是那种

4. 如何实现在服务器程序升级过程中保持与客户端的连接不断开?

5. Fork之后的父子进程的虚拟内存空间的相同与不同

6. C语言中除了malloc还有哪些获取内存的方式(不是指API的不同,而是获取内存方式的不同)
开始的时候我回答realloc, calloc, new, allocator,他说这些都是底层封装malloc,他问的是那种底层实现就不一样的。然后提示了我一下mmap,我说就是那种文件映射,共享内存,他说共享内存算是一种。其他的是真不知道了我就。

7. 一个线程是如何被挂起的?

8. 一个进程是如何被挂起的?

9. PV操作是怎么实现的?

10. 多核处理器的缓存行是怎么实现的?
11. 介绍一下自旋锁与互斥锁
13. 介绍一下条件变量
14.   数据库中有两个关联列,请问在搜索时,这两个关联列会怎样?(不懂数据库,大概意思就是这)

二面

1. 介绍自己做过的项目
2. 一道算法题

更多模拟面试

全部评论

(9) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

热门推荐