头条春招补录,后端三面凉经

刚刚收到了拒信,等了5天,题目挺简单的手撕题也简单,怪就怪自己菜。
自己也是有两次实习经验的人了,还有一个是能叫出名字的公司,太菜了没有转正资格,不过两个公司都很摸鱼,项目不行。。感觉自己一首好牌打得稀烂

背景:双非,两个公司的实习经验
一面:(50分钟)
自我介绍
问项目
手撕题:求一个二叉树所有叶子节点的父节点之和
网络分层,分层的目的,每一层是干啥的,有哪些协议
tcp如何确保可靠传输(序号,确认,重传,拥塞控制算法)
tcp三次握手四次挥手,这些操作的目的何在
http和https区别。https一开始的会话过程
fork出来的子进程和父进程有哪些共享的东西
什么情况下用fork
socket编程中,一个server程序用的最基本的函数,流程是怎么样的
面试官:那我这边给你过了,等hr通知

二面:(40分钟)
问项目
智力题:100个球,两个人轮流拿,每次最多拿7个,拿到最后一个球的人赢。自己先拿,怎么样保证自己必赢。(没答出来)
protobuf压缩原理(没答出来)
手撕题:给一个浮点数和精度,求平方根
浏览器输入网址回车后发生什么
堆排序
场景题:已知高考成绩,在两千万高考生中求排名(答得不满意)
面试官:等hr通知下一面

三面:(20分钟)
怼项目(我说游戏里大多用udp,问我为什么要用udp,我说tcp要握手排序确认很慢(影响实时性),他不满意~)
二面没答上来打问题又问了一遍(protobuf原理还是没答上来,智力题答出来了,场景题说了桶排序= =)
问我计网操作系统数据库觉得哪个最好:我说除了数据库其他都可以
影响tcp传输速度的因素有哪些
手撕题:长度为n的数组中,每个元素的范围是0~n-1,求是否出现重复的数
最近关注什么新技术:分布式一致性算法,raft,但是日志机制没答上来
面试官:我没有要问的了。(也不让我问他问题)

教训:简历上的东西一定要搞透,自己装出去的逼一定要搞懂



#校招##字节跳动##面经#
全部评论
100个球,两个人轮流拿,每次最多拿7个,拿到最后一个球的人赢。自己先拿,怎么样保证自己必赢。(没答出来) 这个题我说下我的思路,求各位指正 1. 100个球,自己要必赢的话,那就要满足对方拿的时候正好剩下8个球(这样对方拿不管几个球,我都能赢),也就是说最后一轮前一轮要剩下92个球。 2. 根据以上思路,92 % 8 = 4,也就是说第一轮我自己拿4个球之后,余下的88个球,不管对方每一轮拿几个球,我拿球的个数都凑齐8,比如第一轮我先拿4个球,第二轮对方拿1个球,这时候我凑齐8,拿7个球。。。这样以此类推,最后我肯定剩下8个球并且对方开始拿,我必胜。 以上是我的思路,求各位指正。
8 回复 分享
发布于 2020-03-05 22:41
看来头条的坑是问上一面没答出来的问题。。
3 回复 分享
发布于 2020-03-06 01:22
一面那个算法题求解
点赞 回复 分享
发布于 2020-03-05 18:49
为啥问了protobuf
点赞 回复 分享
发布于 2020-03-05 19:23
3面还问2面没回答出来的问题,太真实了
点赞 回复 分享
发布于 2020-03-05 22:28
老哥你二面不会的东西都不再看看嘛😂
点赞 回复 分享
发布于 2020-03-05 23:06
老哥这个好难啊....
点赞 回复 分享
发布于 2020-03-12 15:03
3轮算法全部撕出来了吗
点赞 回复 分享
发布于 2020-03-12 16:23
现在还有其他的,加油,加油
点赞 回复 分享
发布于 2020-03-12 16:26
补录是怎么投啊。就是秋招投了之后没过,该补录时hr回来联系你吗
点赞 回复 分享
发布于 2021-10-04 10:54

相关推荐

算法题: 1, 2, 5, 10 硬币组成n元的组合方式答: 完全背包的动态规划, 但是递推公式有点问题, 没做出来, 应该是求出用不用第i硬币的加法而不是取max类似:********************************************************问题1. 上次面试有哪些不会?学了吗?2. 什么情况下数据会进入老年代?3. JVM老年代会不会被GC?4. 为什么GC要分成不同的年代?5. GC的分代内存是连续的还是零碎?各有什么好处?坏处?6. 数据链路层、网络层、传输层为啥要分层, 各层的职责7. 那为啥要分呢, 不分不是更好8. 传输层 什么是链接?9. 如果网络某一个路由器断开3s, 链接还存在吗?10. 进程间通信方式共享内存, 进程A 存放字符串的指针, 进程B读指针,然后print(指针) 会打印出什么?11. 你能讲讲你个人的优势在哪里?回答:1. 上次关于JVM进程的详解没有讲清楚, 这次详细讲解了new 一个对象的全过程● 类加载检查, 看下这个对象所属的类有没有加载、链接、初始化成功, 否则先加载类(JVM类加载具有动态加载的特性)● 分配内存, 分配方式根据内存模型的规整与否(关系GC的选择)● 内存零值赋值● 初始化对象头,包括这个对象的年龄代、字面量、属于哪个类的元数据等, 其实就是标记字段 + 类 指针● Init(), Java程序看起来,对象的创建函数,字段init(), 对象的地址分配给引用变量● JVM内存模型分为不同的年龄代, Eden Survivor Old等● 年龄代存在对象头中, 用于记录GC情况, 当一个对象对于GC Root没有被引用的地方,即不可达时, 会被标记, 后续再次会被删除2. Eden在经过一次MoniGC 还存活的对象进入S0、S1区, 年龄+1, 年龄超过GC器阈值(0 -15)可以进入老年代, 同时大对象也可以进入老年代3. 会。被回收的直接原因是因为对象的引用可达性不存了,GC一般分为部分GC和Full GC, 部分GC可以在单独的Eden、Old乃至混合区域GC,如果内存不够还会触发Full GC 引用不可达的老年代对象一样会被删除4. 不同年代内存区域有各自的适用范围, 比如Eden每时每刻都会有大量的对象死去, 适用用标记-复制, 而老年代对象存活时间较长, 用标记-清除、标记-整理更好, 分代GC效率更高5. 零碎的。零碎的好处是空间利用率高, 只需要一个逻辑标识就能知道是哪个年龄代, 坏处是没有利用好空间局部性。连续的好处是利用了空间局部性, 但是容易有碎片。6. 有点问穿, 数据链路层的基本单位是数据帧, 用于咋局域网内的物理机器地址mac传输, 网络层是在不同的子网内ip传输, 传输层是在找到了应用端间口建立的稳定或者不稳定的链接7. 。。。。我回到是耦合性, 解耦了, 不同层有不同的协议解决各自的问题, 混沌系统太复杂的很难排查, 分层每次只需要接受下层接口,给上层提供服务就行,而不用关心实现细节8. 我认为的链接是指在目标端口的过程中, 无论是IP协议会在不同路由器留下转发映射, 还是APR协议留下目标MAC IP转换, 在逻辑上是有一条通路的, 这就是链接9. 我认为如果路由器的ip映射也消失了, 就会断开链接, 如果没有不一定会断开, 还会重新去找路径链接, 如果在没有超过ACK确认的时间内找到了则不会断开(这段感觉在胡言乱语)10. 这不太会, 我答的是地址或者HashCode, 提到了很多虚拟地址的情况, C++相关的问题, 后面查资料是因为每个进程的虚拟地址空间不一样, 进程B是打印不对的11. 从个人专业学习、工程经验、团队经验、个人性格四个方面回答
查看11道真题和解析
点赞 评论 收藏
分享
评论
点赞
76
分享

创作者周榜

更多
牛客网
牛客企业服务