Java后端开发快手实习面经

本文详细记录了一位申请快手后端开发实习的面试经历,包括一面、二面和HR面的主要问题,涉及Java基础知识、并发、网络协议、数据结构、Spring、数据库和面试策略等。最终,面试者在HR面因实习时间和学业问题未通过。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一面:(1h,过)

1.自我介绍
2.java中的基本数据类型有哪些说一下
3.讲一讲Threadlocal的原理是啥啊。因为只在spring实现高并发的时候看过,我就扯了半天spring和threadlocal
4.接口和抽象类有什么区别?balabala
然后面试官接着问 那都有了接口还要抽象类干嘛? 答的模棱两可的,后来面试官补充说抽象类可以用来做适配啥啥的
5.jdk和jre有啥区别?有啥联系?jdk的全名是啥。。。。只有jre没有jdk行不行?
6.聊一聊gc吧,说说为什么要gc,啥时候gc,有什么垃圾回收算法?有什么垃圾收集器?
7.问问网络吧,讲一下ARP的工作过程?ARP是哪一层的协议?这个也答错了。。如果我现在有10几个mac地址,我怎么找到目的ip对应的mac地址?
8.SMTP协议在哪一层?我说错了。。ICMP协议是用来干嘛的?
9.讲一下新建一个线程有哪几种方法?实现同步可以有哪几种方法?我说了悲观和乐观实现,说了synchronized和reentrantlock还有CAS啥啥啥的 然后又问 那你知道CAS具体的实现类有啥吗? 说了atmotic啥啥的
10.你在使用mybatis操作数据库的时候你有什么优化策略嘛?
11.说到了索引,如果我现在创建了一个表也没有创建索引,但是它查的还是很快,这是为啥?
12.Spring实例化的过程你知道吗?这个忘记了。。。答的结结巴巴的。。面试官说这个我就是随便问一下,你可以下去查一下。
13.红黑树你了解过吗?

### 快手 Java 实习试经验分享 #### 试流程概述 试过程被描述为一次非常积极的学习经历[^1]。整个过程中,试官采取了引导式的提问方法,帮助候选人思考并理解问题的本质。即使遇到困难的问题,也会通过提示来辅助解答,使得整个交流变得轻松而富有教育意义。 #### 技术考察重点 在技术方,对于Java开发者而言,深入理解和掌握JVM的工作原理至关重要[^2]。具体来说: - **引用类型及其作用** - 强引用(Strong Reference)是最常见的形式,在任何情况下都不会被回收。 - 软引用(Soft Reference)用于实现内存敏感的缓存机制;当内存不足时才可能被清除。 - 弱引用(Weak Reference)的对象只能存活到下一次GC之前。 - 虚引用(Phantom Reference)主要用于跟踪对象何时可以被垃圾收集器处理。 - **静态成员变量管理** 类加载期间完成`static`字段初始化工作,并将其存储于方法区中。每当创建新实例时并不会再次执行此操作,而是直接指向已存在的副本进行访问控制。 #### 编程能力测试样例 实际编程环节可能会涉及到算法设计题目,比如判断数组内是否存在重复元素且索引差不超过给定范围k的情况下的解决方案如下所示: ```java public boolean containsNearbyDuplicate(int[] nums, int k) { Map<Integer, Integer> map = new HashMap<>(); for (int i = 0; i < nums.length; ++i){ if(map.containsKey(nums[i]) && i - map.get(nums[i]) <= k) return true; map.put(nums[i], i); } return false; } ``` 上述代码实现了对输入整数序列快速查找是否有符合条件的相邻重复项的功能[^3]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值