后端

春节挑战 | 第七天复盘(人力资源书单整理)

整理书单的时候遇到一个问题:到底选择微信读书还是豆瓣来管理? 最终还是选择了豆瓣:1. 豆瓣书的信息很全;2. 它面向的所有人,不像微信读书仅仅是面向APP用户;3. 微信读书的PC端没有书单整理功能,我习惯使用PC。 经过一天的奋斗,成果如下:1. 每个书单增加了说明。2. 增删了一些书籍。 还是很有成就感的。 明天:1. 考虑一下四年规划,然后再确定提能方向。2. 考虑明年的课题研究,再确定读

业务拆分原则介绍

1. 常见的做法 常见的错误做法: 服务拆分粒度越小越好 按照大公司的套路拆分 以代码量为拆分标准 拆分核心三原则: 2. 服务粒度匹配团队规模 服务粒度过细的问题,可以先看下面的两个图 可以看到,服务粒度过多时,虽然单个服务的内容可以减少,但是服务间调用关系的复杂度程指数级的增长,这同样也是很可怕的一件事 如果项目的人员不多,那么划分过多的服务

周长的秘密

我是周长,我有很多的秘密,你们是不是也想知道,想知道的话就跟我来吧我们找来一个长方形长方形有两个宽,两个长,那么如果我们知道其中一个长的长度是五厘米,那么你需要把两条长都标上五厘米吗?答案是不可以因为太麻烦了,因为长方形的两条长和两条宽两条长的长度是一样的,两条宽的长度也是一样的,但是呢,长和宽的长度不一样,那么如果知道其中一个长把另外一个长也标上就会太麻烦,因为你已经知道这条和那条的长度了,你标

算法 - 数组主元素(出现次数超过一半的元素)

题目: 整数数组,包含n个元素 主元素 - 某个元素出现次数 > n/2 是否存在主元素 找出主元素 举个例子 数组:[1, 5, 1, 8, 1, 2, 1, 1, 3, 1] 包含6个1,出现次数超过了半数5 1就是主元素 数组:[1, 5, 9, 8, 1, 2, 1, 1, 3, 1] 包含5个1,出现次数不超过半数5 没有主元素 分析 主要逻辑包含两个要点 无论如何都需要统计

排序与查找

1、顺序查找的思想: 将待查找的关键字为key的元素从头到尾与表中元素进行比较,如果中间存在关键字为key的元素,则返回成功;否则,则查找失败。 2、二分法查找的基本思想是:(设R[low,…,high]是当前的查找区) (1)确定该区间的中点位置:mid=L(low+high)/2˩; (2)将待查的k值与R[mid].key比较,若相等,则查找成功并返回此位置,否则需确定新的查找区间,继续二

CMS算法实现总结-1

一、数据结构 Java的内存整体上可以分为五大类,Java堆,CodeCache,Metaspace,栈内存和JVM自身,栈内存是指Java线程和JVM自身的后台服务线程执行过程中分配的调用栈对应的内存,包括所谓的虚拟机栈和本地方法栈,用于保存执行过程中的本地变量,方法入参,返回地址等方法执行过程中依赖的各种要素;JVM自身是指JVM实现各种功能所依赖的C/C++数据结构所占用的内存。后面两个的地

Android FrameWork--SytemServer进程fork

1、Linux的fork 在Linux平台我们可以通过fork系统调用来创建一个新的进程,这个新的进程将会拥有原始进程的一份副本,包括代码、数据、内存等等。唯一的区别是新的进程拥有一个新的ID,使得它成为一个独立的进程,运行自己的代码。 fork()系统调用会返回两次,在原始进程中会返回进程ID,在新的进程中会返回0。两个进程可以执行相同的任务,也可以按照需要执行不同的代码。 fork的例子 #i

使用ComposeDesktop开发一款桌面端多功能APK工具

前言 终于算是忙完了一个阶段!!!从4月份开始,工作内容以及职务上都进行了较大的变动,最直接的就是从海外项目组调到了国内项目组。国内项目组目前有两个应用在同时跑着,而且还有几个马甲包也要维护,不知道大家发版的时候复杂不复杂,反正我们每次发版的时候都需要经历--打包、加固、对齐、重签名、打渠道包、上传云存储、生成渠道推广链接、生成内更SQL、上传Mapping文件等等步骤(xN),简直是折磨人啊。

图论(六)图的深度优先遍历DFS(非递归方式)

一、深度优先搜索 深度优先搜索是一个针对图和树的遍历算法。早在19世纪就被用于解决迷宫问题。 对于下面的树而言,DFS方法首先从根节点1开始,其搜索节点顺序是1,2,3,4,5,6,7,8(假定左分枝和右分枝中优先选择左分枝)。 DFS的非递归实现方式相比于BFS应该说大同小异,只是把queue换成了stack而已,stack具有后进先出LIFO(Last Input First O