字节跳动-Java岗-正式批-一面面经

全程1小时10分钟

自我介绍

介绍项目

讲讲项目开发过程中的思路

介绍Redis分布式锁的实现原理

知道DNS是干什么的吗

DNS的过程讲一下

DNS是怎么向上访问的(递归、迭代)

当你查找本地域名服务器没有找到IP地址的时候,本地域名服务器向根域名服务器请求的是什么

了解DNS的格式吗(不了解)

DNS用的是UDP还是TCP

为什么区域传输要用TCP

讲一下TCP和UDP的区别或者说各自的特点

讲讲TCP的四次挥手过程

为什么要等待2MSL

数据库了解多少

聚簇索引和辅助索引讲一下

什么情况下不会引起回表查询

ACID是什么各自讲一下

原子性和一致性具体来说有什么区别

InnoDB有哪些隔离级别,分别解决了什么问题

重复读和幻读有什么区别

InnoDB的默认隔离级别是什么,怎么解决幻读问题的

做题:

给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。你的算法的空间复杂度应为 O(1),时间复杂度应为 O(nodes),nodes 为节点总数。

示例 1:

输入: 1->2->3->4->5->NULL

输出: 1->3->5->2->4->NULL

示例 2:

输入: 2->1->3->5->6->4->7->NULL

输出: 2->3->6->7->1->5->4->NULL

说明:

应当保持奇数节点和偶数节点的相对顺序。

链表的第一个节点视为奇数节点,第二个节点视为偶数节点,以此类推。

这道题在做的时候没考虑边界条件,面试官提醒下改对了

翻转等价二叉树

我们可以为二叉树 T 定义一个翻转操作,如下所示:选择任意节点,然后交换它的左子树和右子树。

只要经过一定次数的翻转操作后,能使 X 等于 Y,我们就称二叉树 X 翻转等价于二叉树 Y。

编写一个判断两个二叉树是否是翻转等价的函数。这些树由根节点 root1 和 root2 给出。

示例:

输入:root1 = [1,2,3,4,5,6,null,null,null,7,8], root2 = [1,3,2,null,6,4,5,null,null,null,null,8,7]

输出:true

解释:我们翻转值为 1,3 以及 5 的三个节点。

img

也有点小bug,面试官说了一下,然后改对了

反问:让面试官点评一下,面试官说基础不错,但是有些表述的还不够清楚,写代码方面不能以解出题为目的,还要注意方法和变量的命名

#字节跳动##面经##校招##Java工程师#
全部评论
楼主哪个部门?
1 回复 分享
发布于 2020-08-25 07:43

相关推荐

02-09 16:14
武汉大学 Java
1. 问一下本科经历2. 介绍一下你第一个项目3. DDD分层架构比传统的MVC有哪些好处?4. 你设计的业务分配的算法介绍一下?5. 算法有哪些优化思路?6. 动态标签列设计怎么思考的?7. 数据量有多大?8. 数据量很大的话,数据存储怎么优化?9. 如何保证缓存和数据库之间的数据一致性?10. 相对于你这个项目用哪种方案?11. 项目中遇到的最大的困难是什么?12. 介绍一下第二个项目13. 模型分析diff的上下文怎么考虑?14. 如果diff的关联的上下文很长超过token,你会怎么办?15. 你想的这种方案,最后输入给模型的prompt是什么?16. 对于大模型的其他组件如RAG和skills有了解吗?17. 那你有想过把代码拆分成一些知识库放在rag里面吗?18. 有对比过其他模型的分析效果吗?19. golang有了解吗?20. HashMap的底层结构21. 为什么要用红黑树?22. 红黑树增删的时间复杂度?23. MySQL事务隔离级别24. MVCC实现原理25. 手撕算法:lc402 移掉k位数字 -> 没想到单调栈,暴力枚举了QAQ反问面试官之后,感觉我的缺点主要在于项目太过于玩具了,对于高并发什么的思考处于比较浅的地步,还有就是code-review对于call graph还有一些成熟的方案不怎么了解过,相当于纯demo,面过几场才知道QAQ,估计是没啥希望了,继续沉淀了噶人们
查看25道真题和解析
点赞 评论 收藏
分享
评论
4
25
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务