字节一面总结,为自己后面面试留下些经验
Timeline:7.20左右hr打电话预约面试,预约7.27下午
面试时间:大概1h
问的内容:数据结构/操作系统/计算机网路/数据库/项目/算法题
具体问题:
- 自我介绍
- 项目,让我介绍简历上写的四个项目,我详细介绍了招新网站(前后端都是我自己完成的),大创项目问了微服务架构,我简单讲了一下gokit工具集和项目结构,随后问了分布式事务,答不了解,错误处理,答简单log(并发量不大且在测试阶段没有太多用户),然后问是否了解多线程,简单说了一些go的协程,然后对方说写java的对go不熟(捂脸
- 数据结构:哈希冲突的处理(链式地址法,线性探测法,公共溢出区,再哈希),我只简单说了前两个
- 数据结构:B树和B+树的区别,基本没怎么说出来
- 计网:OSI七层模型,五层模型,TCP/UDP区别
- 操作系统:I/O类型(答了文件IO,设备IO,网络IO,管道,好像不太对),追问网络IO,先答了套接字编程的流程,然后面试官说答的不是她想问的,然后意会到了想问同步异步,简单说了下epoll(但是不太熟,简单提了点)
- 数据库:ACID,事务隔离级别(详细介绍),索引的类型,索引失效的原因,最左匹配原则(答不了解)
- Redis:简单说了一下项目中管理session用了redis,深入的不了解
- 算法题:①最大子序和(动态规划,秒)②3sum(只写了暴力,哈希表的方法没底没敢写)
总结:准备的比较仓促,有些东西没有记清楚,不过整体上来看难度不算太高,算法要多刷多总结,算法相对基础专业知识部分来说还是很重要,一般来说是leetcode的medium难度,常见的动态规划的几种类型,并查集,单调栈,集中排序算法,哈希表的使用,滑动窗口,双指针,链表的合并翻转,二叉树的遍历搜索等要基本熟练,自己的项目一定要熟悉,可以稍微去猜测一下自己讲解项目的时候面试官会拓展什么话题,相应去简单准备一下会比较好。期待可以过叭,加油。
更新:挂了(
这里顺便记录一波其他公司的面经合集链接: