每周一个 Algorithm,Review 一篇英文文章,总结一个工作中的技术 Tip,以及 Share 一个传递价值观的东西!

Algorithm: 学习算法

题目:3Sum Closest

解题过程:与3Sum类似,固定一个数,使用Two Pointer 从左右两边向中间靠拢,将目标数与3Sum的差值进行比较并记录下3Sum。优化点:是当差值为0时直接返回结果即可。

解法:https://raw.githubusercontent.com/chy996633/leetcode/master/src/ThreeSumClosest.java

Review: 学习英文

题目:《微服务》 - 产品而非项目

内容概述:很多应用开发使用一种项目的模式:开发团队开发完成后,交由维护团队。而微服务提倡将团队应当为开发的产品负责,亚马逊有个口号:You build it, you run it。

与其将软件看作是一堆功能的集合,不如把它看作是提高用户生产力的辅助工具。

尽管单体应用也可以采用这样的思路,但是细粒度的service更容易可以在开发者和用户之间建立连接,从而维护。

Tips: 知识点

使用 time shell 测试程序运行的实际时间,用户态/内核态的CPU时间。

用Java写调用线程执行一个空的过程一千万次,用Go写goroutine执行空过程一千万次,比较两者的运行时间。

具体参见这篇博文 https://my.oschina.net/alphaqiu/blog/301705

2. 学习《unix网络编程》第六章。了解五种IO模型的区别和使用场景,并用Select模型改写Client 和 Server端,帮助客户端监听多个文件描述符。并使用shutdown 利用TCP的半关闭特性。

Share: 价值观

发现了一个外国人为了面试谷歌花了八个月的时间准备,项目地址 https://github.com/jwasham/coding-interview-university,现在超过7w个star!被这种精神激励。

最新文章

  1. Android M Permission 运行时权限 学习笔记
  2. 【EM】C++代码实现
  3. php验证是否是中文
  4. CodeColorer支持的语言
  5. UIView层次管理bringSubviewToFront,sendSubviewToBack
  6. Redis核心解读:集群管理工具(Redis-sentinel)
  7. 【C语言】一些重要的知识点
  8. 老李推荐:第8章7节《MonkeyRunner源码剖析》MonkeyRunner启动运行过程-小结
  9. lesson - 2 yum /单用户/救援模式/Linux 启动
  10. vue不是内部或外部命令解决验证方案
  11. 解析高德地图api获取省市区,生成最新三级联动sql表
  12. (转)AutoML for Data Augmentation
  13. LeetCode--No.007 Reverse Integer
  14. PHP和Mysql事物处理
  15. DRF02
  16. 四、K3 WISE 开发插件《工业单据老单插件开发新手指导》
  17. Android-TCP编程
  18. 【trie树】【P4551】 最长异或路径
  19. [已解决]Vistual Stdio 2015 installer Bootstrapper Packages 路径
  20. 20155212 实验三 敏捷开发与XP实践

热门文章

  1. @RequiresPermissions 解释
  2. 稀疏编码(sparse code)与字典学习(dictionary learning)
  3. active set method(激活集方法)
  4. 【Qt程序】基于Qt词典开发系列<十二>呼叫讲述
  5. radio选择事件 onchange事件 onclick事件
  6. java-线程-基础
  7. 【noip模拟】太空电梯 贪心
  8. Android Studio打包apk,aar,jar包
  9. 至Linux-2.6.32编译内核ipset-6.23坎坷的经历
  10. python 和为S的连续正数序列