2020 年 8 月 30 写篇文章,记录我的字节跳动客户端面试之旅!
第二个项目课设从 GitHub 撸来改改的 sprintboot+vue 的 web 登陆界面(我真不会 Java 也不会前端只能改改
项目凑数的就别放上去,不然好尴尬呀。。。
cpp
struct A{char a;int b;char c;int *d;};sizeof(A);
sizeof(A)的大小(没回答上来
是否知道 数据存储对齐问题(不知道
结构体存储在哪里?读取结构体需要读取多少次?(最开始不知瞎答的静态区 其实应该是堆区 结构体的存储和类一样的 当时紧张这也没答上来
cpp 的编译过程是什么(先生成汇编 再生成目标程序.o 最后链接生成 exe? ? ?漏了预处理的过程 然后具体的没讲出来
cpp 编译的过程有哪些优化
数据结构(一开始还信心满满
有没有了解过 git 用的什么数据结构(没有。。。
git 有个功能是修改已经提交之后的分支 你觉得应该用什么数据结构(口胡 红黑树吧
为什么用红黑树(口胡 因为他快 说了 AVL 和红黑的优缺点
map 和数组 array 的读写效率(我的回答是读写 map 是 logn 数组读写是 1 其实我没太理解这里想问的什么东西 她说她的理解和我不太一样
有没有了解哈希函数(最开始说成了哈希表
哈希函数发生冲突怎么办(把发生冲突的用链表 链在后面
如果一个值出现的冲突过多 退化成了 on 怎么办(我又不知道了
####计算机网络
介绍一下 http(我又不知道怎么说了 只能把 http 和 https 的区别说一下 然后 http 就很快
https 是如何实现加密的(通过 ssl 加密 然后就不会了 然后还口胡了他们是对称加密。。。这是错的
介绍一下 dns 解析的过程(只记得在在本地找不到就去服务器找
如果
本地服务器的数据过期了怎么办(不知道
了解 http 返回的值的含义吗(100 200 300 302 和 301 是什么 403 404 500
了解 ttl 是什么吗(不知道
讲一下三次握手(巴拉巴拉
为什么需要三次握手(巴拉巴拉? ?这两个问题老是答得不流畅 脑子能想出来说不出来 下次得自己写好稿子背好
如果有 10 个数据需要传输 要建立十次 tcp 传输吗(对呀 他是点到点的传输。。。我好菜。。。
有没有办法快一点(用 UDP?。。。面试官都笑了 那不就不安全了吗
有没有了解 tcp 连接的复用(不知道。。。
####操作系统
有没有了解虚拟内存和物理内存(物理内存是本身的内存 虚拟内存是硬盘上的空间 用来存放页面 通过页面置换算法来操作
讲一下 LRU(巴拉巴拉
####数据库
数据库多个用户访问时发生冲突怎么办(让他们一个个来。。。
有没有别的方法(加锁
你了解哪种类型的锁(互斥锁。。。没了
####手撕代码
简单的一道归并排序。。。
本来以为挂了 然后今天下午收到了二面通知 ###二面
础知识部分的忘了,反正就是各种挖源码,问原理
介绍一下项目
怎么理解面向对象
tcp,udp 区别
hashmap 原理是啥看过源码没有,我就想考察你有没有看过源码
handler 看过源码是吧,讲一讲,一个线程能不能有多个 handler?靠什么实现的?
自定义 view 的流程说一遍,知道 view 的绘制原理吗
说说 java 里的线程同步,随便说
强调看源码在工作中的重要性
###三面
评论