腾讯CDG金融科技面经(已意向书)

一面 2021/9/17 16:00 1h

  1. 自我介绍
  2. 我看你意向部门是腾讯广告,其他部门你会考虑吗?

  3. Java 里面有三个关键字长得非常接近,final、finally 和 finalize,你说一下对这三个关键字的认识?

  4. finally 语句块里面一般做什么事情?

  5. 比如说你打开了一个 JDBC 连接,在 JDBC 里面取到了字段的一个值,比如说 String 类型的值 123,然后你需要返回,你在 try 里面 return,还有在 finally 里把连接 close,那么他执行时候是先 close 还是先 return?

  6. 你说一下 Java 的基本类型和引用类型你是怎么理解的?

  7. 基本类型和引用类型做参数传递的时候他们有什么区别?引用类型的值存放在哪里?

  8. 基本类型 int 和引用类型 Integer 有什么区别?

  9. int 和 Integer 是怎么相互转换的?

  10. 自动装箱是怎么实现的?

  11. 你说一下 Java 里的深浅拷贝?

  12. 你需要实现一个 Car 类,创建 car 对象,要对它做一个浅复制,你要怎么写呢?那如果我要实现一个深复制呢?

  13. Java 的集合类你用过哪些?

  14. 说一下 HashMap 是怎么用的,描述一下项目里的实际场景,或者说需求、功能,你的场景为什么非要用 HashMap,不用他可不可以?这种实现方式有什么缺点?

  15. ArrayList 和 LinkedList 有什么不同?可以解释一下为什么 ArrayList 的查询时间复杂度是 O(1) 吗?假如你是 JVM,为什么这种方式就可以达到 O(1) 的时间复杂度呢?偏移量是怎么算的呢?

  16. 泛型你用过吗?说一下使用的场景,你认为他有什么好处?

  17. 你介绍一下 JVM 的垃圾回收?引用计数法和可达性分析算法的优缺点是什么?

  18. 多线程有了解过吗?说一下多线程你的理解是怎么样的?实际工作有用到过多线程吗?

  19. 说一下 Java 的反射?通过反射创建对象和通过 new 创建对象有什么区别?优缺点是什么?性能方面你认为他们有什么区别?

  20. 数据库用什么居多?说一下 MySQL 的索引?B+ 树的叶子结点存放的是什么?你用索引的时候,比如说给一个列加索引,加完之后用这个列去查,你知道索引失效有哪些情况吗?为什么 like % 会造成索引失效?索引是怎么匹配的?那 like 123% 是怎么匹配的?

  21. 你说一下数据库的事务?在项目中事务用的多吗?

  22. 操作系统用哪个居多?

  23. Linux 常见命令用过哪些?看日志怎么看?

  24. Linux 定时器知道吗?

  25. 你们学校在哪个城市?想来深圳吗?

  26. 算法题:实现一个函数,入参是一个整形数组,找到第二小的数字并返回

反问:

  1. 你们这边做什么业务

  2. 面试流程分为几面

面试官多次向我确认意向部门,是不是非广告不可,其实我对金融也很感兴趣,但是改不了了。面试问的比较细,可以看出面试官的水平很高,面试的节奏把握的也不错,没有给人压迫感,面试体验很不错。

二面 2021/9/18 17:00 56min

  1. 自我介绍

  2. 技术栈从两方面总结一下,基础知识、语言,到哪个水平了?了解(听过名词不知道里面的东西)、有一定的理解的、很熟练的。

  3. 没有很熟悉的吗,我们先聊很熟悉的?

  4. JUC 知道吧,ReentrantLock 知道吧,CountDownLatch、信号灯、Queue 都知道吧,CopyOnWrite 干啥的,有什么好处?无锁队列知不知道?先把 JUC 包下常见的类都过了一遍,然后开始问底层实现。

  5. ReentrantLock 底层 AQS 也知道?经过偏向、自旋到重量级锁知不知道?我一开始说这些是 synchronized 的机制,面试官说 synchronized 抄他的,synchronized 比较晚,ReentrantLock 1.4 就出现了,我说 1.5,面试官查了一下,确实是 1.5,面试官说不错。

  6. 讲一下 ReentrantLock 或者 synchronized 锁晋升过程?重量级锁是怎么体现的?为什么阻塞等待就叫重?

  7. 怎么把线程挂起,CPU 不给他资源,CPU 为什么不给他资源,我写一个线程,你怎么把他挂起来?

  8. 有没有看过 AQS 源码,刚开始检查头里面有没有东西,这时候是无锁状态变为偏向锁,别人来抢的时候,发现这个锁被别人占用了,然后循环几次,发现都不行,这时候就是重量级锁了,这里的源码有没有看过,怎么挂起他的?插入队列不等于挂起吧,怎么挂起的?答了 LockSupport 的 park() 方法,又追问 park() 方法调的啥?

  9. 应用层呢,比如说写一些增删改查,写一些小工具啊有没有毛病?自信一点,花两分钟介绍一下,假如让你写一个返回 JSON 的,查询 DB 的,说一些关键的代码?

  10. MyBatis 怎么操作的?代码怎么写的?动态 SQL 有没有用过?什么标签?

  11. 有没有了解过微服务相关的知识,服务治理相关的一些理念知不知道?有没有写过?用过哪些组件?

  12. 用过 Feign 是吧,你也知道 Feign 写一个接口就能调用了,怎么实现的?假如我不懂 Java,我问你这个接口都没有子类实现,他怎么发起调用的?

  13. Spring Boot 的 starter 机制知道吗?你能写一个 starter 吗?比如你给我提供一个 SDK 功能,零配置、maven 一引入,自动跑起来?

  14. 总结一下之前几个问题,Spring、MyBatis 使用非常熟练,JUC 包也没问题。

  15. JVM 内存布局、对象布局简练介绍一下?说一下关键字就行了。

  16. 我现在有一个对象,里面有个 int 型数据,你大概猜测一下,他在内存里面占多大?

  17. 对象里的对齐是什么?

  18. JVM 的内存回收 GC 了解吗?知道两个区交换、清空?有没有看过 GC?一个应用什么时候发生 GC?GC效果怎么样?为什么发生GC?

  19. SQL 这些熟吗?相关原理熟吗,ACID 知道,可重复读怎么实现的?undo log、redo log 知不知道?

  20. 存储和索引结构呢?为什么用 B+ 树?

  21. 比如说我有一条记录,我有一个 text 类型字段,查他的时候发生几次 IO?面试官说可以啊,很厉害,这个都能答出来。

  22. 很好奇你还会不会更高级的东西,MySQL 单机部署不可靠,你了解他的高可用的部署方案的原理吗?主从能保证数据准确吗?主从一定会有数据延迟的。我给你很多机器,你要尽可能保证数据不丢,你可以说一下多种情况的优缺点?假如给你 5 台机器,你可以分布在不同城市,你可以分布在不同机房,你做稳定就行了,要求就是我一直查,保证我有数据,机器我给他炸掉了,还能找到。我答了一下三地五中心。追问三地五中心怎么保证一个数据两个地方都会有的?同步模式是什么?半同步复制,同步复制。

  23. 最近有没有刷题?

  24. 看一下上一个面试官评语是啥,上一个面试官说你多线程了解不多,有没有反驳?

  25. 又开始聊多线程,volatile、Atomic 这些东西知道吗?

  26. 内存珊栏知道吗?

  27. 操作系统熟不熟?内存管理这一块,一个对象 new 出来怎么存储到物理内存上去,又是怎么找出来的?

  28. 从逻辑地址到线性地址到物理地址的转换过程清楚吗?

  29. 除了 CountDownLatch 和信号灯,CyclicBarrier 会不会?

  30. 调度了解吗?你现在的操作系统用的什么调度算法?说一下常见调度算法?短作业,怎么命名为短?怎么知道他短?

  31. TCP 除了拥塞控制、超时重传还有哪些高级特性比较熟?

  32. 有没有了解网络编程?select、eopll 调用细节知道吗?有没有网络编程经验,会用 Netty 吗?

  33. 阿里这边实习有学到什么东西吗?

  34. 现在写代码是能写点了?给你个需求,只要不是太难的,自己能够独立分析他,设计他,写出来交付?

  35. 阿里中间件研究过哪一个,觉得有点心得?面试官说阿里有很多优秀的框架比如 Dubbo、HSF、Rocket MQ、Nacos。

反问:

  1. 你们这边主要做什么业务?

  2. 你们这边是什么部门?

  3. 用什么语言?面试官说换个语言你怕吗?

刚开始的时候面试官说赶快面了,好休息,中秋节来了。强调了校招比较喜欢看基础知识,实习经验、实习的项目有没有学到什么东西,语言基础等。面试的过程面试官经常认可我,不断说不错,面试体验很好,面完就过了。我说对于 GC 只停留在理论上,面试官说这个回答很好,你要是随便回答一下就尴尬了,不像别的公司,要求你讲 JVM 调优。

面试官说复试的时候很看重基础的,最好看一下 Linux 相关的编程,Linux 系统函数,select、epell 、mmap、零拷贝、sendfile 这些常用的。面试官评价说答的都挺好,AQS 结合 Linux 说会更好,可以看看 park() 调 Linux 哪个函数。sleep 做什么的?为什么会睡眠?sleep(10) 一定是精确 10s 吗?为什么不一定?sleep 背后也是 C 函数,都是结合 Linux C 编程来说的。

三面 2021/9/23 11:20 27min

  1. 自我介绍

  2. 讲述一下 JVM 内存的垃圾回收机制的原理?

  3. 对于 Java 多线程编程应该注意哪些事项?

  4. 对于 MySQL 的 Inno DB 引擎底层有过了解吗?

  5. 聚簇索引是个什么机制,访问数据是个什么样的过程?

  6. MySQL 事务隔离级别有几种?

  7. 在可重复读的场景下,我们去访问一条用户记录,用户记录里边有两个关键字段,一个是状态,一个是余额,A、B 两个事务同时在第一秒去读,读出来的余额都是 100,在第二秒,事务 A 把他的余额加了 100,现在的余额为 200,那 B 事务在第三秒时候也加 100,因为他第一秒读出来是 100,所以他也 set 为 200,那这样就丢了 100 块钱,那你觉得正确的做法应该是怎么做呢?

  8. 对网络编程有过了解吗?Socket 里面有个 IO 多路复用,select 和 epoll 有什么区别?epoll 的 ET 触发和 LT 触发的区别是什么?

  9. 那这样的一个情况下,ET 触发模式下,比如说我去读数据,假设那里边有 10M 的数据,我读了 5M 的时候被信号中断了,那应该怎么做呢?

  10. 如果这个网络服务器是个应答式的,就我发了一个包,我等待回答,那前面的一直没有回来,那是不是就卡死一个线程挂在这里了?

  11. 对于后台这种服务器,比如说网络服务器的多线程模型有了解过吗?就是比如说线程池类似这样的一些?

  12. 谁负责收发网络包,数据进来是个什么过程?也就是说有一组线程是负责网络处理的,比如说把外面的一组文件描述符收下来,网络包收下来,是这个意思吗?也就说每进来一个就是一个独立的线程来应对,从网络收发包、到处理、再到回包,都是一个线程?

  13. TCP 和 UDP 的区别是什么,为什么 TCP 是可靠的,他的可靠性体现在哪些方面?

  14. 三次握手连接的时候,为什么是三次?他起到什么样的作用?

  15. IPC 通信除了 Socket 通信之外,还有哪些方式?

  16. 我用共享内存的话,比如说我分配了 10G 的共享内存,用于存储用户的一些信息,比如说我每条用户的信息是 1K,那就是这 10G 的共享内存就形成了一个数组,那现在我有多个进程访问的时候,假设某个进程读某条记录的时候,其他的进程可以去读,不能去写,如果某一个线程在去写的时候,其他的线程都不能读也不能写,但是每一条记录之间的访问是互相隔离的,那在 Linux 下,有哪一些机制可以实现这样粒度的一个读写锁?

  17. 对信号量的原理有了解吗,信号量是一个什么样的机制?

  18. 再详细介绍一下你的项目

  19. 数据库怎么保存多层的树结构的?

  20. 客户端访问的时候,你的会话信息是怎么做的?

  21. 评论也是存在数据库里边的吗?MySQL 里面对这种很长的评论是怎么处理的?有过了解吗?超过 255 的字段他会做什么处理?MySQL 对这种长的字段类型,底层是怎么做的?

  22. Redis 做缓存的时候,怎么保证 Redis 和底层数据库的数据是一致的?如果最后一次删缓存失败了呢?

  23. 你平时都喜欢看什么类型的书籍?

  24. 你平常业务爱好是什么?

反问:

  1. 事务型开发和后台开发的界限

  2. 哪些方面需要提升一下

  3. 用什么语言,用什么框架

  4. 后续的面试流程

面试官反馈说理论知识掌握的还行,网络编程知道一些原理,但是缺乏网络编程的实战经验。腾讯的流程真的快,四个工作日走完三轮技术面,下午更新到了 HR 面。

HR面 2021/9/26 10:30 29min

  1. 从以下三个维度来总结一下自己,从出生到上大学、大学时光以及实习经历、职业规划?

  2. 在实习中成长最大的事情?

  3. 你是本科是吧,22 年毕业,有读研的打算吗?为什么不读研?

  4. 过往有没有重大疾病史?

  5. 有没有亲属在腾讯?

  6. 家里有兄弟姐妹吗?

  7. 你是哪里人?

  8. 你父母对你工作有什么看法?

反问:

  1. 新人培养

  2. 晋升机制

  3. 可以提前实习吗

  4. 结果多久能出来

三面完那天晚上发了测评,做完之后约了 HR 面,HR 面完之后下午更新到了录用评估中,不得不说腾讯效率真的高,四个工作日走完了三轮技术面,许愿 OC!

OC 2021/10/27 10:01

Offer 2021/10/28 12:26

#面试题目##腾讯#
全部评论
爆炸,一面问题基本类似,但那个算法题我不会
2 回复 分享
发布于 2021-09-27 21:52
接前辈好运,希望面试顺利
点赞 回复 分享
发布于 2023-09-12 10:09 江苏
大佬,事务性开发和后台开发啥界定鸭
点赞 回复 分享
发布于 2021-10-12 16:49
同cdg,感觉一个hr问的,评估中,许愿oc
点赞 回复 分享
发布于 2021-09-29 10:40
虽然不懂java,但我看着就难🤣
点赞 回复 分享
发布于 2021-09-28 09:20
点赞 回复 分享
发布于 2021-09-27 23:28
牛批,这些题目根本就是顶中顶,有这样的水平才能进CDG我确实心服口服
点赞 回复 分享
发布于 2021-09-27 19:08
感觉像地域级的难度啊
点赞 回复 分享
发布于 2021-09-27 18:53
太顶了!
点赞 回复 分享
发布于 2021-09-27 10:52
龙哥yyds
点赞 回复 分享
发布于 2021-09-27 07:26

相关推荐

评论
15
90
分享

创作者周榜

更多
牛客网
牛客企业服务