得物面经(完结)



得物面经(完结)
得物 App 是全球领先的集正品潮流电商和潮流生活社区于一体的新一代潮流网购社区。
得物 App 聚集了一大批热爱球鞋、潮品穿搭和潮流文化的爱好者,话题讨论集中在球
鞋、潮牌、手办、街头文化、汽车腕表和时尚艺术等年轻人关注的热点话题。得物 App
正在成为中国潮流文化发展的土壤。
时间安排:
网申:8 月 14 日开始 笔试:8 月 23 日开始 面试:8 月下旬开始 offer:9 月下旬开始
招聘城市:
南京、郑州、武汉、广州、上海
同学 1
一面
1. OAuth2 的 redirection url 什么作用
2. Thrift RPC 怎么实现 CS 通信,怎么实现跨语言
3. CDN 过期策略
4. Redis 分布式,主从,一个节点挂掉怎么办
5. 多级页表
6. 隔离级别,默认隔离级别,间隙锁
7. TiDB, LSM-Tree
TiDB 是一款开源的分布式数据库,它的设计目标是提供一套统一的数据库解决方案,既
能满足 OLTP(在线事务处理)场景的需求,也能支持 OLAP(在线分析处理)场景。
它由三个核心组件组成:
1. TiDB Server:SQL 层,负责解析 SQL 请求、执行查询计划、管理事务等。
2. TiKV:TiDB 的存储层,使用基于 LSM-Tree 的 RocksDB 作为其存储引擎,结合 Raft
协议实现高性能和高可用的分布式存储。
3. PD(Placement Driver):调度层,负责整个集群的元数据管理和负载均衡。
LSM-Tree(Log-Structured Merge-Tree)是一种写优化的存储结构,常用于高写入负载的
数据库系统,通过内存写入、磁盘批量写入和定期压缩实现高效的写操作。
8. HTTPS,中间人伪造证书怎么办,伪造证书机构
9. 为什么转专业
二面
1、项目索引,MySQL 索引,mongoDB 为什么用的 B 树,二者比较
2、MySQL B+树的度数越大越好吗,一般设多少
3、实习学了什么,两段实习的比较
4、以后做工程还是研究
5、工作和生活中有成就感的事情
优缺点
反问:业务交易技术,整个交易流程
三面
1、实习内容
2、数据库数据量,实习公司自研的数据库能干啥
3、MySQL 索引,什么时候索引失效,为什么索引命中还很慢
4、JVM 用过那些参数,CMS 什么时候发生 FULL GC,除了老生代满了的情况
5、Thrift RPC,包含哪些内容,复杂均衡在哪里做,注册中心用的什么
6、为什么偏向后端开发
反问业务:供应链 or 交易
同学 2(Java 实习生)
1. 项目中的难点 缓存设计、乐观锁、分布式锁
2. 分布式锁怎么用的
3. 为啥要用分布式锁
4. 分布式锁和锁的区别
5. zk 的分布式锁怎么用的
6. 乐观锁怎么设计的
7. redis 有哪些数据类型
8. redis 有序列表怎么实现的
9. synchronized 和 reentranlock 锁区别
10. aqs 是怎么实现的
11. hashmap 和 concurentmap 区别
12. 分段锁是怎么实现的
13. 类加载器有哪些类 聊一下这个过程
14. 如何定位垃圾 哪些算法
15. 引用计数器有什么缺点
16. 常见垃圾回收器有哪些 采用的哪种算法定位垃圾?
17. java 堵塞队列使用过吗
18. 说一下 spring 的 ioc 和 aop
19. 动态代理有了解过吗 有哪些动态代理类
20. 现在有两个服务 怎么去实现 a 调用 b
21. 让你设计这个服务中间件 你会儿怎么设计
22. 负载均衡怎么实现
同学 3(二面)
20 分钟
1. 自我介绍
2. Java 栈 栈里面是什么
3. 线程状态 (忘记了运行态) 寄
4. 阻塞和就绪态会占用 cpu 吗
5. 如果 Java 堆中新建一个对象 这个对象只有一个 byte 字段,那么他占多少大小(不知道
捏)
6. tcp 一定要四次挥手吗
7. http1.1 和 http2.0 区别 二进制分帧怎么做的
8. 场景题:redis 延时队列(不会)
9. 因为上面的不会换了一个 如何通过 redis 提出直播间的人 并且 10 分钟内这个人不能再
回直播间
反问:
1. 后面的流程
2. 主要做什么的:中间件 没有业务
同学 4(实习生)
?1、讲讲
试题目
面目
ArrayList 和 LinkedList
2、对于数据结构的选择(数组、链表、栈、队列、哈希表、树和图)
3、Java 8 以后对 HashMap 改用红黑树讲讲为什么
4、MySQL 里的 B 树和 B+树
5、Java 8 里面的类加载器
6、讲讲双亲委派模型
7、如何打破双亲委派模型(这里我说的例子不太好说重写 String,然后后面就属于衍生出
来的场景题了)
下面面试官问我线程池和锁机制比较熟悉哪个,我果断选了线程池。
8、线程池的核心参数
9、解释每个参数作用
10、线程池的运行逻辑或步骤
(创建了一个线程池,很多任务过来,我的核心线程怎么创建,什么时候会用到等)
11、线程池中使用无边界队列会怎么样
12、负载均衡的策略
反问环节
面试官说基础还是可以的,要说还需要改进的话就得学学 Spring 和 Redis 这些
面感受
总体感受还是不错的,又到了经典反思环节。
大家都是哪来的时间学 Spring redis 这些框架啊
大家都很强,还得继续学习啊哈哈
学校的东西真不够用
同学 5
就口述了判断回文子串的算法思路
(boss 上投的,风控技术部门)大概 40 分钟
1、自我介绍
2、MySQL 和 redis 的区别
3、接口和抽象类的区别
4、jdk8 关于接口的新特性
5、建立数据库连接池的步骤
6、学过 xml 和 json 吗?
7、Python 了解多少
8、深度学习调优的时候怎么选择学习率和优化器?
8、暑期实习和项目时间冲突怎么解决的(暑期 7、8 月份,其中一个项目 7~10 月。
9、如何处理异常?(抛出异常和 try-catch-finall)
10、紧接上一题:try 中 return1,finally return 2,最后结果返回什么?
12、说下回文子串的解题思路?
13、职业规划?
14、大概多久到岗?
15、为什么选择上海?(看我在北方上学,为怎么没考虑北京,答:朋友家人在上海那
边)
?
16、你有什么想问的吗?(问了个对我这次面试的表现?还有啥时候二面)
大概就得么多了这么 多 了 ?
跟我准备的八股不太一样,我以为会问我 ArrayList 扩容机制,juc 并发这些???