今天了解到了一个新名词:MillenniumBug 他的简称是Y2K Millennium翻译如下 Bug我想大家都知道他的意思,就是虫子,或者是电脑中的漏洞。...在全球范围内,15个核反应堆关停;尤穆尔塔勒克的采油泵站停转,因为切断了对伊斯坦布尔的石油供应;夏威夷发生了断电,很多国家的政府电脑失灵。...纽约州的以为音像出租店的顾客收到了高达90000美元的账单,而这笔账单够支付他所租赁的录像100年。 来自于网络 那为什么会发生这个bug呢,而且还是全球范围内的?...年2月29日这一天,而是直接由2000年2月28日过渡到了2000年3月1 日;另一个是在一些比较老的计算机系统中,在程序中使用了数字串99(或99/99等)来表示文件结束、永久性过期、删除等一些特殊意义的自动操作...,这样当1999年9月9日(或1999年4 月9日即1999年的第99天)来临时,计算机系统在处理到内容中有日期的文件时,就会遇到99或99/99等数字串,从而将文件误认为已经过期或者将文件删除等错误操作
下面是面试题: 由于我准备面试时大部分的项目准备是围绕数据仓库开发准备的, 而我面试的是货拉拉的大数据开发岗, 所以整个面试过程面试官也在反复和我确认到底是面试应用开发还是数仓开发。。。...1.自我介绍 2.简单介绍2个项目+项目选型+负责哪一部分 负责的部分是离线数仓部分 3.围绕项目问问题: 项目所使用的数据模型(问的是星型模型和雪花模型的区别,愣是半天没反应过来,害) ClickHouse...map函数,得到TextInputFormat的k1,v1;经过处理后传出k2,v2 分区–默认根据k2决定map中的数据该发送到哪个reduce中 排序–默认根据k2进行字典排序 规约–默认没有此阶段...多态 调用同一个方法展示出来不同的方式。...什么是最左匹配原则 顾名思义,就是最左优先,在创建多列索引时,要根据业务需求,where子句中使用最频繁的一列放在最左边。
agere使用 Job 和 handler 作为基本的任务节点类型,通过定义Job(一个类)和handler(函数或方法),来拆分一个agent的各个部分,这些节点可以复用,当未来你想更改或者拓展部分功能时...结束时,遇错时,或者被终止时等。...节点和边各自独立的好处是结构更加清晰,而边节点的好处是逻辑更加连贯,你在定义一个节点时就明确了后面的边,而不用再在连接边时再去想想我这个节点是干什么的来着,很可能你都已经忘了,还要去查看节点中的代码。...当然,agere是很灵活的,如果你觉得使用节点和边的模式更加清晰,你完全也可以这样做,你只需要把TaskNode定义为完全的节点,不连接边,然后,你可以简单地自定义实现不同的添加边的操作,这可以通过使用...callback 另外,还有一个重要的元素是callback,在TaskNode节点的不同状态可以触发不同的回调函数,例如一个节点的任务开始执行时,结束时,遇错时,终止时我们都可以为其添加相应的回调函数
获取该有环链表的环入口节点(即:节点8) 链表中是否有环 首先,我们需要确保链表中是否包含一个环,在上篇文章(获取链表中倒数第K个节点)中我们用双指针的思路解决了问题,那么,我们也尝试下能否用双指针来解决这个问题...在前面提到的判断一个链表中是否有环时用到了一快一慢两个指针。如果两个指针相遇,则表明链表中存在环。...p1、p2指针指向判断链表中有环时的相遇节点 p1指针继续向前移动,边移动边计数 p1指针与p2指针再次相遇时,即可得到环中节点数量 IMG_584FEB598A64-1 实现代码 通过上面的分析,我们已经得到了解决问题的思路...指针的指向,将其指向链表头部 p1、p2指针以相同的速度向前移动,两者相遇处正好是环的入口节点 声明一个变量用于记录节点总数量 p2指针不动,移动p1指针,每移动一次记录总数量的变量就自增一次 p2、p1相遇时...我是神奇的程序员,一位前端开发工程师。 如果你对我感兴趣,请移步我的个人网站,进一步了解。
逐渐缩小范围,已经排好的数字就不需要再排,最后直到每一个数字都排到了正确的位置。...动图演示 代码实现 逻辑:排序思想我们可以了解到,实现一定是需要双重循环的: 第一层循环来控制轮数,第二层循环来控制单轮中所有需要排序的数字的排序。...我们可以使用一个for循环,其中设置一个int 类型的变量i ,i从0开始,一直到n - 1。...在第一轮,排n -1次,第二轮,排n - 2 次,第三轮,排n - 3 次……我们可以知道排的次数与轮数也有关系。...我可以设置当exchange的值为0,当进行了交换元素的值的时候,说明进行了排序,那么将exchange的值改为 1,如果结束一轮的时候exchange == 1,我们继续排序,如果是exchange
事情是这样的: 期末考后,我在实习僧试着投了投字节的实习岗,没想到收到了校招的面试邀请 实际上算法这块我还是个菜狗 没办法机会难得,不知道下次能不能这么走运 只能硬着头皮上了……!...由于OLTP系统中数据大多存储在mysql,所以我们最终选择Sqoop作为导入导出工具,抽取数据到数仓,并使用基于CM管理的Hive进行数据清洗+分析,然后sqoop导出到mysql,最后用FineBI...map函数,得到TextInputFormat的k1,v1;经过处理后传出k2,v2 分区–默认根据k2决定map中的数据该发送到哪个reduce中 排序–默认根据k2进行字典排序 规约–默认没有此阶段...多态 调用同一个方法展示出来不同的方式。...什么是最左匹配原则 顾名思义,就是最左优先,在创建多列索引时,要根据业务需求,where子句中使用最频繁的一列放在最左边。
如果直接使用广告的排序内容,还是有可能踩坑的。 4、竞争对手 这个是比较“鸡贼”的一种玩儿法。举个例子,我在做社交类的APP,想要投放渠道。...可能你经历过的问题,在某些同行那里已经有非常成熟的方法论了;也有可能从同行那里拿到自己不清楚的信息。所以,我们还是要去行业中多交流。...但是我们还是来具体说一下,主要渠道的质量评估会有以下几种方法。 1、排名查验 这个就是上文说的,我们在寻找渠道时,一般会去查看一个渠道的排名。...比如某站点,我们在合作之前,可以去体验相关的广告情况,如果运气好,直接看到了竞品的广告,那就更会有体感。 比如应用市场,我们可以下载之后去人工使用一下,对自己的使用体感作出一个评估。...2、针对渠道质量评估,我们可以先进行排名查验,筛选出一批可投放渠道;再通过站长工具,应用市场排序评估的具体数据查验,缩小投放渠道范围;之后通过自己的实际使用体感(比如广告点击,应用市场下载使用)等方法,
快速排序快速排序是一种分治算法。它通过一趟排序将数据分割成独立的两部分,然后再分别对这两部分数据进行快速排序。本文将用3种方法实现:霍尔法霍尔法是一种快速排序中常用的单趟排序方法,由霍尔先发现。...,最后将基准值的下标返回 为啥相遇位置比key要小->右边先走保证的L遇R: R先走,R在比key小的位置停下来了,L没有找到比key大的,就会跟R相遇相遇位置R停下的位置,是比key小的位置R遇L:第一轮以后的...,挖坑法在处理基准值时使用了额外的"坑"变量,简化了元素交换的操作,但思想都是利用基准值将数组分割成两部分。...这里是优化快速排序使用随机数选取key的方法:在划分子数组前,随机生成一个[left,right]区间中的随机数randi,将随机randi处的元素与区间起始元素left交换使用这个随机索引取出子数组中的元素作为...在快速排序递归中,检查子问题的区间长度是否小于某个阈值(如**10-20**),如果区间长度小于阈值,则使用插入排序进行排序,否则使用快速排序递归进行划分。
,无法解析的外部符号这个错误出现的问题可以归结为:编译器在使用某个函数或类时无法得到该函数或类的具体实现。...(个人认为:出现这种情况的概率十分之小)于是我将文件发送到我的台式电脑,再次尝试编译,果不其然,依旧出现相同的错误提示! 问题究竟出在哪?我想着问题范围应该就在于头文件了。...#引用于 http://blog.csdn.net/u014108137/article/details/26337405 CSDN博主Acepoint的转发 我想我找到了错误的原因所在:由于在编写代码时...,我根据所画的UML图,将头文件都写好了,于是在自定义类对象中,使用自定义类对象作为类成员的时候,我自然而然地直接使用了自定义类对象这个类型,而非使用自定义类对象的指针!...若要使用自定义类对象,使用前置声明 的方法。 ②使用自定义类的指针,而非直接使用该类型。 注意要点 最后稍微列一下C++包含头文件的顺序,同样来源于上一个引用链接。
这里是蓝桥杯历年的题目专栏,将会陆续更新将往年真题以及解答发布出来,欢迎各位小伙伴关注我吖,你们的点赞关注就是给我最好的动力!!!...在设计字符的表达时,要求所有发光的二极管是连成一片的。 例如:b 发光,其他二极管不发光可以用来表达一种字符。 例如:c 发光,其他二极管不发光可以用来表达一种字符。...题目分析 题目代码 ---- 第九题:荒岛探测 题目描述 科学家小蓝来到了一个荒岛,准备对这个荒岛进行探测考察。小蓝使用了一个超声定位设备来对自己进行定位。...题目分析 题目代码 ---- 第十题:字串排序 题目描述 小蓝最近学习了一些排序算法,其中冒泡排序让他印象深刻。在冒泡排序中,每次只能交换相邻的两个元素。...对于字符串 qiao 排序, 总共需要 4 次交换。小蓝找到了很多字符串试图排序,他恰巧碰到一个字符串,需要 V 次交换,可是他忘了把这个字符串记下来,现在找不到了。
因为从键取值是耗时的操作(与方法一相比,在不同的Map实现中该方法慢了20%~200%)。如果你安装了FindBugs,它会做出检查并警告你关于哪些是低效率的遍历。所以尽量避免使用。...3、Java的TreeMap实现 相对与hashMap优势,内部key保持有序,且支持自定义排序比较器。 适用场景,对数据需要排序统计。...拿到项目后经理这边根据我们每个人的情况划分负责的模块,沟通明确每个点的开发时间,在下班的时候会进行核对,下班前提交代码,然后汇报一下进度以及所遇问题。...工具:wiki 以上就是我这个项目的一个大致流程。(可以看看面试官还想问那些点) 2、用了哪些云服务?怎么用的? 这个问题就不做赘述了。 华为云、阿里云等的应用官网上都有具体的操作手册。...问这个问题估计是想要看我服务器方面了解多少。不少公司现在都在选择使用这种服务器,当然也有公司是使用自己公司服务器的。
Java自定义异常的使用要经历如下四个步骤: 1、定义一个类继承Throwable或其子类。 2、添加构造方法(当然也可以不用添加,使用默认构造方法)。 3、在某个方法类抛出该异常。...七、异常的使用误区 首先我们先看如下示例:该实例能够反映java异常的不正确使用(其实这也是我刚刚学Java时写的代码)!! ?...4、———-4 这个就问题多多了,我敢保证几乎所有的人都这么使用过。这里涉及到了两个问题,一是,捕获了异常不做处理,二是异常信息不够明确。 4.1、捕获异常不做处理,就是我们所谓的丢弃异常。...throws是方法抛出异常。在方法声明中,如果添加了throws子句,表示该方法即将抛出异常,异常的处理交由它的调用者,至于调用者任何处理则不是它的责任范围内的了。...异常使用指南(摘自:Think in java) 应该在下列情况下使用异常。 1、在恰当的级别处理问题(在知道该如何处理异常的情况下才捕获异常)。 2、解决问题并且重新调用产生异常的方法。
,相比而言,我觉得这是比较简单的动态规划问题,因为状态转移的推导比较自然,基本上你明确了 dp 数组的定义,就可以理所当然地确定状态转移了。...二、背包与魔法 问题描述 小蓝面前有 N 件物品, 其中第 i 件重量是 Wi, 价值是 Vi 。她还有一个背包, 最大承重是 M 。 小蓝想知道在背包称重范围内, 她最多能装总价值多少的物品?...小蓝想知道在背包称重范围内, 她最多能装总价值多少的物品? 特别值得一提的是, 小蓝可以使用一个魔法 (总共使用一次), 将一件物品 的重量增加 K, 同时价值秝倍。...(当然小蓝也可以不使用魔法) 思路解析 其实这道题就是经典的背包问题,只是在背包问题的基础上增加了使用魔法k 首先明确选择和状态。...注意: 显里没酒 ( 0 斗) 时遇店是合法的, 加倍后还是没酒; 但是没酒时遇 花是不合法的。 输入格式 第一行包含两个整数 N 和 M. 输出格式 输出一个整数表示答案。
自定义 init 脚本 最简单的控制 init 脚本的方法是改变 /etc/default 目录下,与 init 脚本同名的文件里的环境变量设置。...如果遇此问题,则需要手动打上最新的内核补丁。...更安全地工作 – sudo 使用 sudo 最主要的目的是保护自己少做蠢事,我认为使用系统时使用 sudo 比总是使用 root 帐号更好。...当然,如果你知道 root 密码(绝大部分在家安装系统的用户都会知道),就可以在普通用户下执行任何 root 命令: $ su -c "shutdown -h now" Password: (我想我该严格限制...如果新版的 Ubuntu 系统进行远程访问时出现问题,可以在 /etc/hosts.deny 中注释掉“ALL: PARANOID”,如果有该行的话。
我写项目的思路 三层的思路是要把页面(UI、数据显示)、业务逻辑、数据处理(也叫持久化)分离开来处理,思路自然是好的,但是一到了实际应用中,好多人就会遇到一点小小的问题,于是产生了好多的争论...我觉得一个好的解决方案使用起来应该更容易一些,不应该导致很多人“误入歧途”。所以我觉得三层的分割思路视乎有一点点小问题。 所以我就想了一个自己的分割方式——业务逻辑与代码分离开来!...类似的,如果我要查询,那么我可以使用查询控件(还需要分页控件和现实数据的控件来配合),如果我要向导出到Excel,那也可以使用对应的控件来完成。...我还没有做过大项目,可能到了大项目里面,我的这些幼稚的想法就不适合了,但是我有信心,只要我接触了大项目,那么我就会利用我在大项目里面了解、体验、掌握到的经验来完善我的这个想法。...我知道以数据库为中心,会把范围限制到一个很小的范围,但是这点范围对于我来说也是主够大了,至少两年内是不会感觉小的。一个人的能力有限,能研究出来一点,也是不容易了。
收获 在重点或疑问的地方,做出标记和注释 在读《Effective Java》时,对于前10条建议,我并没有理解得很深刻,因为我只是简单地拿笔在书上划下重点的句子而已。...我也感觉到了问题,后来在重点或疑问的地方,做出标记和注释,对于问题的理解提升很大。 虽然这是一个很愚蠢的问题——连小学一年级的学生都知道,但是我却刚刚体会到这样做的好处。...之后我发现Arrays.sort会根据不同的类型,采取不同的排序方法。对于基本类型,会采用调优的快速排序;对于对象类型,会采取改进的归并排序。...然后我就会问自己:为什么对于基本类型和对象类型,要采取不同的排序方法呢?快速排序的调优,体现在哪里?归并排序的改进,又体现在哪里?...在阅读源码时,不仅仅是语义上的理解,考虑一下为什么要这么实现这个功能?这样实现有什么好处?它的适用场景有哪些?是否还能够改进?哪些思想我能够借鉴到平时的工作和生活中?
,相比而言,我觉得这是比较简单的动态规划问题,因为状态转移的推导比较自然,基本上你明确了 dp 数组的定义,就可以理所当然地确定状态转移了。...二、背包与魔法问题描述小蓝面前有 N 件物品, 其中第 i 件重量是 Wi, 价值是 Vi 。她还有一个背包, 最大承重是 M 。小蓝想知道在背包称重范围内, 她最多能装总价值多少的物品?...小蓝想知道在背包称重范围内, 她最多能装总价值多少的物品? 特别值得一提的是, 小蓝可以使用一个魔法 (总共使用一次), 将一件物品 的重量增加 K, 同时价值秝倍。...(当然小蓝也可以不使用魔法) 思路解析 其实这道题就是经典的背包问题,只是在背包问题的基础上增加了使用魔法k 首先明确选择和状态。...注意: 显里没酒 ( 0 斗) 时遇店是合法的, 加倍后还是没酒; 但是没酒时遇 花是不合法的。输入格式第一行包含两个整数 N 和 M.输出格式输出一个整数表示答案。
这里是蓝桥杯历年的题目专栏,将会陆续更新将往年真题以及解答发布出来,欢迎各位小伙伴关注我吖,你们的点赞关注就是给我最好的动力!!!...小蓝制作门牌的方法是先制作0到9这几个数字字符,最后根据需要将字符粘贴到门牌上,例如门牌1017需要依次粘贴字符1、0、1、7,即需要1个字符0,2个字符1,1个字符7。...在设计字符的表达时,要求所有发光的二极管是连成一片的。 例如:b 发光,其他二极管不发光可以用来表达一种字符。 例如:c 发光,其他二极管不发光可以用来表达一种字符。...在冒泡排序中,每次只能交换相邻的两个元素。小蓝发现,如果对一个字符串中的字符排序,只允许交换相邻的两个字符,则在所有可能的排序方案中,冒泡排序的总交换次数是最少的。...小蓝找到了很多字符串试图排序,他恰巧碰到一个字符串,需要 V 次交换,可是他忘了把这个字符串记下来,现在找不到了。
在继续说明之前,先缩小一下范围(程序员的思路都是很广的,很容易联想到其它的方面): 目前我想讨论的只是asp.net,而且只是网站,再缩小一点就是那种很简单的网站。...简单的说我的数据访问层就是这些接口。 下面举例说明我的数据访问层的使用方法: 比如我想在网站的首页里调用最后添加的五条资讯,然后绑定到Repeater控件上。...突然想起来以前有位高人提及自定义数据源绑定控件的方法。记忆已经很是模糊了,隐约感觉是使用了结构之类的东东。...也就是说结构(struct)里面定义这些属性就足够一般的页面(首页和列表页面)使用了。当然在实际中我又加了一个ID的属性。...(比如登录、验证用户登录信息等) 大量使用自定义控件来简化编码。 数据访问层:调用dll文件,无需重复编写代码。
Java的类加载器使用双亲委派模式,双亲委派模型的工作过程是: 如果一个类加载器收到了类加载的请求,它首先不会自己去尝试加载这个类,而是把这个请求委派给父类加载器去完成。...只有当父加载器反馈自己无法完成这个加载请求时(搜索范围中没有找到所需的类),子加载器才会尝试自己去加载。 很多人对“双亲”一词很困惑。...尽量减少临界区范围、使用ThreadLocal、减少线程切换、使用读写锁或CopyOnWrite机制 ThreadLocal用来解决什么问题?ThreadLocal是如何实现的?...5.2 字符串匹配 字符串匹配问题 判断给定字符串中的括号是否匹配 解体思路: 使用栈 遇左括号入栈 遇右括号出栈,判断出栈括号是否与右括号成对 5.3 考察点和加分项 考察点 了解基本数据结构与特点...解决问题的思路和解决哪类问题 加分项 能够将数据结构与实际使用场景结合(介绍红黑树时结合TreeMap的实现,介绍B+树时结合MySQL的索引) 不同算法在业务场景中的应用 面对模糊的题目能沟通确认条件和边界
领取专属 10元无门槛券
手把手带您无忧上云