帆软 后台研发面经

首先感谢帆软给了我这一次机会。

关于我的时间线:
  1. 03.15 投递简历
  2. 03.19 完成笔试
  3. 03.25 下午4点 进行的面试
  4. 4月初 收到offer通知
整个时间跨度确实挺长的,但也感谢最后还是收到了offer。(毕竟找工作的过程,真的很艰难)

我只有一面技术面,时长 40min。
  1. 自我介绍
  2. 蓝桥杯是干什么(自我介绍里面提到了,我参加的是算法,Java大学A组)
  3. 简历里面的项目(好好准备,回答的时候要有条理)
  4. Spring 的 IOC 和 AOP
  5. 如何通过一个字符串获得对象的(反射,我当时答 Spring IOC 可以以 byName 或者 byType 的方式从容器中获取,class.forName)
  6. Java 的 JDK 动态代理和 CGLib 动态代理的差异(回答得不太好,一直都没太去关心 CGLib 动态代理)
  7. 类被 final 修饰还可以使用动态代理吗?
  8. 数据库的索引
  9. B+ 树和 B 树有什么差异,MySQL 为什么要选择 B+ 树?
  10. 前面项目里面,有用到数据库连接池吗?讲一讲数据库连接池。
  11. 讲一讲 HashMap
  12. 如何解决 Hash 冲突的
  13. HashMap 可能出现的环形链表问题知道吗?(这个是我的 lucky problem,jdk1.7 头插,resize 时可能会出现环形链表问题)
  14. 红黑树有什么优点
  15. 为什么要用红黑树,不用普通的二叉查找树?(讲了普通的二叉查找树 和 AVL 树可能有的问题)
  16. 红黑树怎么保证自平衡?
  17. 在一个多线程的场景下,假设非要使用 map,有什么解决方案?
  18. 乐观锁与悲观锁
  19. CAS了解吗?
  20. CAS假设发现不一致会发生什么操作?
  21. Java 设计模式知道哪些?
  22. 单例模式怎么实现的?【这里优点嘴瓢,饿汉和懒汉讲反了haha】、
  23. 懒汉式为什么要加双重锁?
  24. 为什么要加 volatile 关键字?
  25. 工厂模式
  26. Java 的垃圾回收
  27. Minor GC 和 Full GC 的触发机制有什么区别?
  28. 一个场景:线上的 Tomcat 单体应用,发现它一天要 Full GC 几十次,可能有哪些排查思路?
  29. 动态规划和贪心算法的区别
  30. 1,5,11 ,数字可以重复,想得到15,且使用的数字最少,用贪心的思路和用动态规划的思路是什么?
  31. 二叉树的深度优先和广度优先遍历
  32. 为什么有这三种遍历方式,这三种有什么差别?
  33. 中序是左 中 右,为什么不是 右 中 左?
  34. 假如内存空间比较小,使用广度还是深度遍历?
  35. 问算法,先问了我做没做过上梯子的问题,我回答做过,又改了一个问题(建议诚实回答)
  36. 1-99,不重复,随机拿掉一个数,找出拿掉的那个数
  37. 改成大数,比如1-1亿,怎么解决【这里应该还有几个类似的问题】。(提到了一些解决方案,出来查查,应该叫位图)
  38. 1-99,找出一个出现了一半以上的数
  39. 反问(深度方面还需要精进)

总结:整个面试体验很好,中间要是有不清楚的地方面试官会引导你接下去回答。
反问阶段,觉得也得到了理想中的回答。

希望大家都能收到心仪的offer。

一些心里话:
    一开始我也被考核给吓到,但机会是自己把握的,不管去到哪里,都有可能被抛掉。
    所以我认为,这不能够成为放弃的理由,但如果大家身上有比较多的offer,还是可以综合考虑考虑的。
    以上。
    2022.04.09
#面试复盘##面经##帆软软件##春招##java工程师#
全部评论
40分钟问了快40个问题,节奏这么快嘛
2 回复 分享
发布于 2022-04-12 21:48
考核结果怎么样,也太另类了吧,为什么不在offer前考核?
1 回复 分享
发布于 2022-05-24 08:13
🎉恭喜同学成功投稿参与【面试复盘】,并通过审核! 😉请留意你的私信,官方红N人员将与你取得联系,进行奖励发放~ 👉🏻戳:https://www.nowcoder.com/discuss/872618了解更多活动详情~
1 回复 分享
发布于 2022-04-09 17:54
请问笔试都考了啥题目想大厂那种的算法还是
1 回复 分享
发布于 2022-04-23 20:42
楼主去考核了吗,结果怎么样
点赞 回复 分享
发布于 2022-05-14 00:49
想问下楼主base是哪里的 帆软是要到无锡先工作半年 然后转到南京吗
点赞 回复 分享
发布于 2022-04-09 14:00

相关推荐

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

创作者周榜

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