货拉拉24.10

基础架构组-大数据平台研发实习生-深圳 OC (基础平台部门)

一面 23.10.10

1.本科毕设

2.ArrayList和linkedlist区别

2.1底层结构

2.2扩容上的区别

2.3对空间利用率-(链表的node额外需要空间)

3.hashmap

3.1哈希冲突

3.2hashcode和equals访问数据的过程

3.3底层结构

3.4链表和红黑树转换

3.5扩容方案

3.6长度设计原理

3.7put

5.object

5.1有什么方法

5.2wait和notify原理

markword的标记位

5.3使用wait和notify的场景

举了线程间顺序同步的场景,通过syn+wait和notify保证线程间顺序执行

6.怎么对内存进行管理

6.1区域除了五大区域有啥

直接内存-netty等IO场景会遇到

6.2 本地方法栈干啥

主要通过JNI调用本地其他C++实现的硬件设备方法

6.3 虚拟机栈

6.3.1 有啥

基本数据类型

对象应用

return地址

6.3.2 线程安全不

6.3.3 栈上分配深究

艹就提了一嘴就被一直挖,这也没咋深度研究

6.4 方法区

6.4.1 有啥

类型信息

深挖类加载过程了

常量池

深挖符号引用和字面量,一个string.intern一个类加载过程涉及到符号引用的解析过程

即使编译器的代码缓存

深挖前端编译和后端编译,以及热点缓存,怎么缓存的?

6.5 堆

6.5.1 对象实例和类型访问方式

句柄和直接引用

6.5.2 对TLAB理解

6.5.3 挖各个垃圾回收器

6.5.3.1到cms各个回收器详情和区别

6.5.3.2g1

6.5.3.3g1怎么分块的,每块多大区域

6.5.3.4为啥提出了分块,分块有什么好处

7.spring

7.1autiwred一般用在哪里

7.2它的原理是怎么样

7.3springboot怎么自动加载的

7.4comment一般用在哪的

7.5ioc和aop分别是什么怎么理解

7.6ioc的控制和反转分别怎么理解

7.7ioc和di怎么理解,它们之间什么关系

二面 23.10.12

1.如何遍历二叉树的所有节点

2.tcpudp区别,tcp怎么建立连接

3.线程进程区别

4.java线程池

5.抽象类和接口区别

6.对jvm的了解

7.创建一个对象可能在哪里

8.linkedList和arrayList区别

9.对隔离级别的理解

10.为什么要有隔离级别,事务和隔离级别的关系

11.本科毕设

后端实习生2.0-北京 二面挂 (风控部门)

一面 24.3.26

1.自我介绍

2.讲讲项目里的技术难点(我扯了流计算处理的逻辑,貌似这个岗确实是希望有流计算背景的)

3.基础

      3.1 sparkyarn两种提交模式的区别

      3.2 讲讲spark的算子

      3.3 spark的taskschedule算法(这个忘彻底了,就答上来一个默认的FIFO)

      3.4 redis的数据结构有哪些

      3.5 讲讲redis的zset底层结构

      3.6 基于redis如何实现分布式锁

      3.7 syn锁原理,锁升级过程

      3.8 lock锁原理,重写aqs逻辑

      3.9 线程池参数和过程

      3.10 jvm内存区域划分,每个区域都存什么

      3.11 jvm调优参数(说了实际设过的就xms几个,其他都是背的,然后和面试官两个人都笑了)

      3.12 知道什么回收器

      3.13 cms回收过程

      3.14 springbootapplication注解

      3.15 事务隔离级别

      3.16 mvcc

      3.17 索引数据结构

      3.18 描述描述B+树的结构,最后怎么拿到真实数据的(偏移量)

4.算法

      4.1 口述最长无重复子串(口述)

二面 24.3.29

1.自我介绍

2.实习拷打

      关注了业务功能的开发和是否经过评审

3.引申出来了怎么分析一个系统目前存在的慢查询(just分析)

4.项目拷打

5.kafka不丢失消费怎么实现的,在broker端和consumer端做了什么保障

6.一个网址有大量的UV数据需要进程统计,统计出ip来源最高的十个市,仅用数据结构去怎么实现(口述)

7.mysql大表怎么处理,什么时候算大表

后端实习生2.0-北京 二面挂 (风控部门)

一面 24.7.15

1.自我介绍

2.实习拷打

3.项目拷打

4.IOC

5.AOP

6.reentlock和syn区别

7.使用用法区别

8.reentlock公平和非公平是怎么实现的

9.juc还了解其他什么工具类

10.threadlocal

11.kafka,redis,多种组件情况下,事务管理

12.redis渐进式扩容过程

13.第K个大的数(写)

写了大根堆,要求讲讲快排的思路

二面 24.7.16

1.自我介绍

2.实习

3.课题

4.项目

5.对于一个流式pipeline的场景,很多个目标源,每个目标源有很多个指标,指标需要做实时计算,计算时间很久怎么设计

6.一个网关系统,需要token校验,黑名单,熔断限流等功能,怎么设计实现

7.写题

有5个人,在那赛跑,请你设计一个多线程的裁判程序给出他们赛跑的结果顺序,5个人的速度随机处理(写)

java实习生(上海)-上海 OC(营销部门)

一面 24.9.26

1.自我介绍

2.equals和==有什么区别

3.submit和execute有什么区别

4.kafka有一个partation,消息堆积了怎么办

5.kafka消费端如何做幂等

6.redis如何保证双写一致性

7.mysql索引失效场景

8.有字段只有四个枚举值,适不适合添加索引

9.springboot的bean加载有什么方式

10.resouce和auiwed有什么区别

11.某个接口有两个实现类,怎么通过autwied加载

12.实习有什么技术难点

13.这些问题怎么解决

14.看什么书

15.java中怎么把一个字符串反转

16.java中容易出现的异常有哪些

17.你用过什么设计模式,在写代码的时候

18.ABA是什么问题,除了在cas还可能在哪遇到,一般可以怎么解决

19.分布式锁除了redis还有什么实现方式

20.事务一致性,讲讲你的理解

二面 9.29

1.自我介绍

2.final有什么用

3.final修饰方法和修饰类的时候有什么用

4.抽象类和接口有什么区别

5.抽象类和接口继承和实现上有什么区别

6.java创建一个线程方式有哪些

7.callable和runnable有什么区别

8.线程池你怎么创建

9.线程池中随着任务越来越多,线程状态的变化,分类讨论(不是说线程池的执行过程)

10.springboot事务隔离级别

11.你怎么用springboot事务的

12.mysql事务隔离级别

13.什么是幻读

14.mysql引擎有哪些

15.mysql的innodb引擎是什么样的

16.redis数据结构(底层不是说用的)

17.redis的bitmap举例一个使用场景

18.redis的分布式锁你怎么用的

19.redis的lua脚本细节

20.kafka的重复消费你怎么解决

22.redis的淘汰策略

23.redis的过期策略

24.讲讲lru算法细节

25.栈是什么,干什么用,怎么用

26.队列是什么,干什么用,怎么用

27.如何用栈实现队列(口述)

28.怎么判断链表是不是成环(口述)

29.hashset重写问题

30.实习的技术难点

全部评论
亲娘嘞
1 回复 分享
发布于 10-06 23:13 北京
点赞 回复 分享
发布于 10-06 17:11 湖北
这强度
点赞 回复 分享
发布于 今天 17:35 北京

相关推荐

8 27 评论
分享
牛客网
牛客企业服务