宏石科技已OC

刚进去直接让我坐在电脑上写编程题三道
1.sql语句的编写和优化
2.设计一个函数输出一个传进来数字的二进制的一的个数
3.编写业务借口和实现类

面试
Q:超卖问题是怎么解决的
A:采用乐观锁的方式在数据库里吗加一个version字段用库存数量写入,每一个线程进行处理时version-1,当线程发现处理后version被别的线程改变了就会退操作。
Q:双写不一致怎么解决
A:延迟双删
Q:有没有做排行榜
A:用Z set用过,但是本项目的是数据库查找的方式做的推荐榜单
Q:redis的哨兵模式了解吗
A:只是粗浅使用过,并不太了解
Q:redis的使用原理是什么为什么用redis,比mysql好在哪,响应速度快,快多少倍?
A:redis是一个no SQL的数据库,存在于内存中,响应速度快,以键-值的形式存储数据,由于读写速率比mysql快10倍以上,所以一般在高频使用的数据做redis缓存来增加用户体验 
……还有一些忘记了 #笔试#
全部评论

相关推荐

1、自我介绍➕项目2、TCP和UDP有什么区别,底层和应用场景(偏常规的八股就正常回答)3、追问,你们之前做的直播相关的业务用的是tcp还是udp?为什么不用tcp,你确定不用tcp吗? Tcp可能会有延迟,那缓存为什么不能解决延迟的问题呢?4、传输层协议中的端口有什么作用,不同的应用能共用一个端口吗,服务器可以监听同一个端口吗?如果连ip和端口都一样,可以吗?如果ip端口和协议类型都一样,可以吗?(灵魂追问这里其实挺复杂的,建议大家去小林coding那边好好研究一下)5、发送数据的时候从磁盘中取出数据到发送经历了什么样的过程,几次拷贝,几次系统调用,零拷贝是怎么实现的6、什么是内存对齐,有什么好处?内存对齐是操作系统层面的东西,还是每个编程语言层面的东西?(当时讲了一会儿内存碎片和空闲链表,后来发现应该是扯远了,不过面试官也没有当场指出错误,可能背地里暗暗减分了吧,hhh)7、算法题,找到一个数组的中位数(一开始考虑使用两个堆(想成了leetcode中的寻找数据流的中位数),其实不用那么麻烦,本质上是数组中的Top k(所谓中位数就是Top2/n),可以使用一个堆或者快排),后来又问了一下建堆的时间复杂度和快排查找的时间复杂度(这里没答好,建议大家去研究一下,好像涉及一些数学证明,现在考算法不手撕,不仅仅看你能不能写出来,对时间复杂度,空间复杂度的证明和优化也考)8、延伸了一下,如果有多个文件,没有办法将所有的文件数据都读入内存,如何寻找多个文件的中位数?9、反问业务,偏底层的音视频传输,技术栈主要是cpp,如果面试通过可能需要好好学一下cpp
查看8道真题和解析
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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