商汤科技服务端开发一面面经
商汤科技
java
- 人生中学习和生活中最大的挑战是什么?
- 索引查找在Linux的磁盘上是怎么操作的
- 调大老年代对新生代有什么影响?调大新生代对老年代有什么影响?(唉,这个没想过,哪位大佬知道告诉一下)
- 说一下CMS垃圾回收器和G1收集器的特点,和收集过程。
- 那怎么判断一个一个数是不是2的幂次方,讲思路,写代码
- 我在jvm上运行一段java程序输出一条语句,它是怎么输出到屏幕上的
- 说一说计算机网络的七层结构
- 标记的时候怎么找出栈上的 GC Root?说出一种可能的方案,存在什么问题?
- 多线程你写过吗 有哪些应用场景
- Docker 有使用过和了解吗?Docker 和 JVM 的区别是什么?
- 集群和负载均衡的算法与实现?
- redis 和 MongoDB 的区别。几个概念对比,还有底层实现。
- POST和GET有什么区别?
- 数据库的事务隔离知道吗?
- 三次握手和四次挥手
- 当用户访问量到达亿级的时候,没法分表的情况下,如何优化mysql?
- hashmap 使用&运算的条件是什么,为什么长度是2的n次幂?ArrayList,LinkedList的源码和特性
- 写一段脚本实现将nginx的access.log日志中ip按访问量排行
- maven依赖树,maven的依赖传递,循环依赖
- 海量数据过滤,黑名单过滤一个 url。
编程题
给定一个表示分数加减运算表达式的字符串,你需要返回一个字符串形式的计算结果。 这个结果应该是不可约分的分数,即最简分数。 如果最终结果是一个整数,例如 2,你需要将它转换成分数形式,其分母为 1。所以在上述例子中, 2 应该被转换为 2/1。
示例 1:
输入:"-1/2+1/2" 输出: "0/1"
示例 2:
输入:"-1/2+1/2+1/3" 输出: "1/3"
示例 3:
输入:"1/3-1/2" 输出: "-1/6"
示例 4:
输入:"5/3+1/3" 输出: "2/1"