【已拿Offer】【字节跳动】2020春招Java实习面经

岗位
Java客户端开发实习生

时间表
2020/3/15 投递简历
2020/3/23 技术一面
2020/3/30 技术二面
2020/4/9 Offer Call + 邮件

一面
对部门的理解
自我介绍
开发过程中最有挑战性和成就感的模块(讲了和并发有关的事情)
有没有遇到什么并发上的问题?
Java四种引用的区别?
会不会有软引用和弱引用不会被回收的情况?
对于Object中的hashCode和equals的方法有什么理解吗?
对匿名类了解吗?什么情况下会导致内存泄漏?
并发过程中如何确保同步执行?
除了锁还如何保证同步?
对Java的泛型实现有了解吗?知道泛型擦除吗?
Java的泛型和C++的模板有什么区别?
三次握手与四次挥手
TCP是如何保证数据的可靠传输的?
TCP如何进行拥塞控制?
对HTTPS有什么了解?如何保证数据传输安全性?

有环链表找入环点并证明
https://leetcode-cn.com/problems/linked-list-cycle-ii/

二面
从什么时候开始接触Java语言的?之后有进一步学习Java吗?
大三还有课吗?大概什么时候可以入职?
毕业之后有啥计划和打算?
具体介绍一下ACM比赛?
算法题会用Java写吗?
比起C和C++,更偏重于Java的原因?
Java还有其他的项目经验吗?
是怎样的一个项目?做了哪些事情?目前的状态?
Android的熟悉程度?
技术栈的倾向性?
Java中类加载的双亲委派模型可以讲一下吗?
同名类的优先级如何确定?
JVM的内存结构?
Java 8中的静态变量存在哪?
如何保证线程安全?
一个静态类的静态方法加上synchronized,锁的是什么?
网络协议的分层结构?
常见的网络协议有哪些?
常见的排序算法有哪些?
堆排序是如何实现的?
有哪些熟悉的设计模式?

实现线程安全的单例模式(懒汉式、饿汉式)


#字节跳动##实习##Java工程师#
全部评论

相关推荐

一、 个人背景与综合意向- 自我介绍:请进行简单的自我介绍。- 业务背景:该规则引擎主要应用于唯品会的哪些具体业务场景?- 团队情况:你所在组的整体开发团队规模是多少?纯后端开发人员有多少?- 实习时间:如果入职,什么时候可以开始实习?打算实习多长时间?二、 Java 基础(重点考察 HashMap)- 数据结构:请介绍一下 HashMap 内部的数据结构。- 设计原理:为什么 HashMap 要引入红黑树?这样设计的根本目的和好处是什么?- 底层支撑:为什么底层要基于数组加链表的形式来实现哈希表?数组的作用是什么?- 哈希计算:JDK 1.8 中,哈希函数是如何计算哈希值并确定元素在桶中位置的?(扰动函数的作用)- 并发安全:HashMap 是如何保证线程安全的?具体到 JDK 1.8,它是如何利用 CAS 和 synchronized 实现的?- 不安全场景:在多线程环境下使用普通的 HashMap 会出现哪些具体的并发安全问题?(例如:值覆盖、扩容死循环等)三、 Spring 框架- 核心机制:请解释一下 Spring 的循环依赖问题以及它是如何通过三级缓存解决的?- 缓存细节:每一级缓存分别存的是什么?为什么非要引入“三级缓存”而不能只用二级缓存?(涉及 Bean 生命周期与 AOP 适配)四、 项目深度挖掘(规则引擎)- 项目核心:请详细介绍一下你负责的规则引擎项目,包括你的角色和核心产出。- 难点与挑战:在该项目中,让你印象最深刻的技术难点或业务难点是什么?- 稳定性治理:你是如何实现规则的多版本快照和回滚功能的?- 数据库设计:为了兼容旧表并实现多版本功能,你在表结构上做了哪些具体修改?- 业务逻辑:当规则出现问题时,业务人员如何通过后台系统排查过去的执行情况?- **回调机制**:业务回调功能是如何设计的?为什么要做异步优化?- 可靠性考量:如果系统在回调过程中重启,线程池阻塞队列里的任务丢失了怎么办?如何保证数据一致性?- 性能优化:你是如何发现规则执行链路存在耗时问题的?具体的优化手段(核心与非核心链路拆分)是什么?- 系统指标:该系统的平均耗时(RT)和峰值 QPS 大约是多少?五、 工程能力与运维排查- 监控手段:你们是如何对线上规则的执行时间进行监控的?- 线上排查:如果线上出现问题,你的排查流程是什么?- 容器化知识:线上系统是容器化部署吗?你对 Docker 或 K8S 有多少了解?- 日志定位:在容器环境下,你如何查找和定位历史日志文件?
查看25道真题和解析
点赞 评论 收藏
分享
评论
5
22
分享

创作者周榜

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