百望
- 时间
- 2026-08
- 来源
- 牛客网
《面试题目》
- 时间:8月25日
- 公司:百望股份
- 批次:秋招
- 形式:一面,约42分钟
- 项目聊得不多,后面全是金额精度
- 多行明细四舍五入后,税额差一分怎么办?
- 金额为什么不用
double? BigDecimal比较和舍入有哪些坑?- 算法:把100分钱按权重分完,要求整数且总额不变。
- 第一题我答“每行四舍五入”,面试官给了三行数据,合计真差一分。我改成先算高精度结果,把尾差补给余数最大的一行,并单独记下调整值。算法同一个思路,我却把余数排序方向写反了,样例直接翻车。
BigDecimal被追问new BigDecimal(double)的问题,我说到二进制浮点误差就卡住了。暂时没结果。
《参考解析》
- 算法题先写出不变量和边界条件,再分析复杂度;常见数组、链表和树问题可分别使用双指针、哈希表、递归或迭代遍历,目标是在线性或对数复杂度内完成。