实战
上进唯实战可得,突破绝技成长瓶颈
手记
分享经验交流心得,学习前沿流行技术
-
[见题拆题] 大厂面试算法真题解析 - 第二期上车
往期回顾: [见题拆题] 大厂面试算法真题解析 - 第一期开张 这不是标题党,今天我们真的要上Uber的车~ 题目 [来自Uber] Given an array of integers, return a new array such that each element at index i of the new array is the product of all the numbers in the original array except the one at i 给定一个整数数组,返回一个新数组,使得位于位置i的元素,等于给定数组中位置i以外的所有元素的乘积。 举个例子: 如果给定的数组是[1,
3882浏览
7推荐
0评论
-
你是一个成熟的程序员了,是时候学习面向故障编程了
作为程序员,最大的噩梦,可能就是下班时间,当我正在开心的浪着,突然传来一阵急促的铃声,运维的同事说系统不行了,我必须马上上线帮忙抢救...... 之前还看过一个更惨烈的新闻,有一位程序员新郎,在自己的婚礼上,还不得不上线维护系统......等你好不容易折腾了半天,终于把系统稳定住了,还没来得及喘口气,老板就顶着一张黑脸,发出了灵魂的拷问:为什么测试的时候没发生问题,生产环境里却出了故障?这是一个价值百万的问题。我来试着帮你回答一下:功能测试只覆盖了正面测试(positive test),而忽略了负面测试(negative test)整合测试没有覆盖到的某个在生产环境中引起故障的外部系统没有进行压力测试,或者压力测试的程度与生产环境情况相差过大这个清单还可以一直写下去。你不妨检视一下你自己的测试环境和测试设计,相信你还会发现更多的不足。老板看着这个清单,脸色越来越黑。接下来,他问出了更扎心的问题:今后怎么避免类似的故障再发生?你眼睛一亮,举起你刚刚列出的测试环境缺点清单,向老板保证你会把清单上每一个缺点都改正
8005浏览
60推荐
5评论
-
答上帝问:我们为什么要学习网络I/O编程模型?
在《一站式学习Java网络编程 全面理解BIO/NIO/AIO》的课程群里收到不少学生的提问~ 俗话说,学生就是上帝~ 于是我半夜不睡,来给大家答答问题:Q: 网络io在工作中用在哪里啊?毕竟我们基本不会开发聊天工具啊A: 我们在课程中使用的例子,的确是聊天工具,但这只是因为聊天工具可以帮我们聚焦在网络io模型的实现上。实际工作中,所~有~涉及客户端与服务器端之间通过请求-响应的方式交换数据的应用,都使用了网络io,比如说,移动应用开发,API开发,消息队列开发,集群中节点之间的沟通,等等。这样说来,我相信绝大部分同学们在工作中都接触过网络io但是---注意我们要转折了---你是不是觉得自己从来没有真的写过和网络io有关的代码呢?这是因为,市面上大量的第三方框架,已经大大简化了网络通信层面的开发难度。框架的目的是什么?绝大多数框架的目的就是:让程序员可以专 注 于 业 务 逻 辑~所以,你回想一下,就会觉得自己一直在写业务逻辑,一直都是CRUD。这不怪你,对于公司来说,只有让你专注于业务逻辑,才能给公司带来
4349浏览
18推荐
7评论
-
[见题拆题] 大厂面试算法真题解析 - 第一期开张
如今想要收获大厂offer,在面试的前几轮,总是躲不开算法这座大山。 常听人说,算法很难。这话没错。算法本身是是一个艰深的方向。但是算法题却有据可循。通过有针对性的学习和练习,我们完全可以掌握解题的基本方法和技巧,见题拆题,扫清通往offer之路上的障碍。 看看手上这些各个大厂的面试算法真题,我想,不如开始一个新的系列,和大家一起解析真题,学习解题方法,开阔解题思路。头脑越练习,越灵光。 接下来,就让我们来看第一题: 题目 [来自Google] Given a list of numbers
7395浏览
34推荐
5评论
-
仓没加错:Node.js+MongoDB替你管理投资仓位
筹备良久的MongoDB实战课【玩转MongoDB4.0 从入门到实践】终于上线了!包含本篇完整代码和大量实例演示辅导,快去看看吧! 有人说,控制仓位的水平,决定了你是一个炒股新手还是民间股神。这句话还真有几分道理。因为仓位管理是交易风险管理的基础,所以资产规模越大的交易员就越重视仓位的管理。 下面,我们花上15分钟,亲手使用Node.js和MongoDB来搭建一个Web服务,用来管理我们的投资仓位。这个服务需要为我们提供一个接口,用来查询和更新投资仓位记录。在数据库层面,我们选择MongoDB来
7154浏览
32推荐
4评论