码匠笔记

其他

面试官:Kafka 为什么会丢消息?

ack。尽量提高客户端的消费速度,消费逻辑另起线程进行处理。如本文让你有所收获,欢迎扫描上方二维码关注微信公众号,更多内容持续更新中点击关注公众号后,回复面试,可以领取我熬夜整理的大厂面经.PDF
2022年9月23日
其他

被问懵了,加密后的数据如何进行模糊查询?

来源:ningyu1.github.io/20201230/encrypted-data-fuzzy-query.html如何对加密后的数据进行模糊查询沙雕做法常规做法超神做法总结我们知道加密后的数据对模糊查询不是很友好,本篇就针对加密数据模糊查询这个问题来展开讲一讲实现的思路,希望对大家有所启发。为了数据安全我们在开发过程中经常会对重要的数据进行加密存储,常见的有:密码、手机号、电话号码、详细地址、银行卡号、信用卡验证码等信息,这些信息对加解密的要求也不一样,比如说密码我们需要加密存储,一般使用的都是不可逆的慢hash算法,慢hash算法可以避免暴力破解(典型的用时间换安全性)。在检索时我们既不需要解密也不需要模糊查找,直接使用密文完全匹配,但是手机号就不能这样做,因为手机号我们要查看原信息,并且对手机号还需要支持模糊查找,因此我们今天就针对可逆加解密的数据支持模糊查询来看看有哪些实现方式。在网上随便搜索了一下,关于《加密后的模糊查询》
2022年9月22日
其他

一个程序员的水平能差到什么程度?

的提交记录,肇事的大哥很快就被找到了。据说是在一个月黑风高的晚上,几个还在加班的码畜临时起意,决定一起找点乐子解解乏。这位带头大哥为了方便把自己的游戏分享给小伙伴,就想到了把它先提交到
2022年9月21日
其他

不要玩羊,会变得不幸

盆友,今天你羊(guang)了个羊(gao)了吗?作者:Alex
2022年9月20日
其他

做一个不崩溃的核酸系统有多难?

每天2000万,假设可以均摊到1小时(3600秒),那么每秒只有不到1万的并发量。假设数据量为10亿,也就是1G条记录;给每条记录16字节存储空间(身份证号编码为二进制,考虑地区/年份可以压缩,48位整数足矣;哪怕不压缩,64位整数也就是8个字节怎么都够了;剩下8个字节足够记录上次核酸检测时间、红黄码状态以及疫苗信息了)……换句话说,16G内存就够把全国所有数据放进内存;而我的PC机是32G内存;对服务器来说,256G甚至1T内存早在十几年前已是平常。然后,还可以根据身份证号前3位或者前6位(地区码)分散到多台服务器。也就是根据你的身份证信息,哪个省的就自动dispatch到对应省份的服务器处理。这样一台服务器只需储存1~2亿条信息就足够用了——20台16G内存的虚拟机实例,资源充足到足够你肆意挥霍的。然后,系统启动过程是:1、从数据库载入属于本服务器的所有信息(2~4亿条),这是个较为缓慢的过程。2、开始提供服务。前面提到过,哪怕按2000万次访问集中在1小时内完成这个最苛刻的指标,每秒也只需服务5556人。按每人需要返回2K数据计算(1k都绰绰有余!除非你在服务器端生成二维码),每秒数据量大约是12M不到。这个业务都是短链接。也就是可以认为用户查询过程是:TCP握手,发送用户身份证号(可本地识别),获取数据,断开连接。那么,这里实际上不太需要考虑什么C10k问题(考虑也容易,Windows用完成端口Linux用epoll即可;其实可以直接用libevent写出跨平台程序的),一条100M的链路足够了。按身份证号在数组中搜索信息,在搞好身份证号-下标映射算法时,效率是O(1);没有搞好、用二分法查找,效率O(lnN),对10亿人,至多30次搜索就能找到。对于内存搜索,相对于网络的蜗牛速率,这个延迟可以忽略不计。换句话说,不需要任何特殊技术,20台16G内存的虚拟机实例,简单的在数组中访问下标(或者二分查找)、封装返回,以及100M对外服务总带宽,就足以支持10亿用户的每小时2000万次查询——性能大有盈余。换成1G总带宽,一小时够2亿人用的——注意我说的是总带宽。如果20台16G内存的虚拟机实例各自拥有100M对外服务带宽,它实际上已经足够支持全国使用了。当然,实际不能这么简陋。万一虚拟机本身不够稳定、或者有人连二分查找程序都能写崩溃呢……这时候,我们可以另外搞一些虚拟机作为备份;这些虚拟机可以使用现成的zookeeper管理,一个节点坏了,另一个节点可以马上顶上……另外就是数据更新问题。核酸数据没有太高的实时性,检查结果出来1小时后反映到查询界面都不算晚。这可以在数据库服务器上放置一个触发器;数据有变动就自动通知外围节点,让这些节点更新数据即可。总之,全都是最最简单的基础逻辑,找“会快排的程序员”都有点大材小用了。但是呢,我曾经在类似的公司做过事,也知道对接的甲方的水平……所以,这样一个“庞大”“复杂”“史无前例”的系统,最终如果按我的设计,顶天两三千行C代码以及两三千行js代码就交差了——你猜甲方会不会掏钱?不不不,这都不是甲方懂不懂的问题了;而是,就这么几行代码,你想让他们掏多少?他们怎么向上面交代?所以啊,从一开始就不能让会写程序的人掺和,不然三两下搞完了,怎么看都不配拿几十万……妙在这东西太简单,你就找一群棒槌,他们瞎凑合出来也能交差,至多多买点服务器、多出点事故——但只有这样,才更能证明钱花得值,不是吗?我当年在这种公司上班,就被某同事打了小报告,说我代码行数太少,一万行写完都不算多的功能,让我连注释一起300行给搞定了(注释率50%,也就是只有150行有效代码),使得公司受到了重大损失……得,两不待见,我还不辞职,等着干嘛呢?如本文让你有所收获,欢迎扫描上方二维码关注微信公众号,更多内容持续更新中点击关注公众号后,回复面试,可以领取我熬夜整理的大厂面经.PDF原文链接:https://urlify.cn/zuiYrq作者:invalid
2022年9月19日
其他

程序员面试通过,背调凉凉。。

背调,可以很精准的检验应聘者简历中所写和所讲的是否属实,已经成为招聘企业检验员工是否合格的重要手段之一,也是应聘者在面试过程中十分反感的一点。我们经常会看到有人在网络上吐槽自己因为背调错失了高薪offer,而企业也会因为背调感到头疼。因为面试者能力很强,但是却在背调中发现有作假情况,这样到底应不应该发offer呢?在这个问题上,大家众说纷纭,有网友直接表示,这是原则问题,不应该录用。因为一旦造假被允许,就会有其他人效仿,这对辛辛苦苦考上大学的人来说,极其不公平。另外,有网友说,背调红线就是诚信。造假就是不想努力还想享受别人努力后的成果,这样的员工,公司敢用吗?虽然赞成不录用的较多,但也不乏有自称内行的人说,背调主要是核实一些大问题,包括毒、醉驾、刑事案件、官司等。而学历、工作内容、上级评价则是一些小问题。特别是在学历造假上,有网友说要视具体情况而定,因为早些年民办大学本身有问题,并且由于信息闭塞等原因,很多人并不知道哪些大学是比较正规的。如何看待学历造假问题,网友指出,学历低和学历高的人群看待问题就会不一样,而企业应该英雄不问出处,给有能力的人更多机会。但是造假还是不应该的。很多职场人对企业进行背调这一行为产生反感情绪,一是认为这样侵犯了自己的隐私,另外则是企业做的背调也可能存在不真实的情况,这样很容易让自己在面试中吃亏。所以有人就问了,背调是否合理呢?虽然背调不讨喜,但也有存在的合理性。据数据统计,在职场中有一部分人存在简历造假,包括学历、工作经验、薪资等。一些虚假信息让企业不能有效的辨别出求职者是否合乎岗位需求,此时背调便发挥了作用。从长远来看,一次准确的背调,不仅是对企业负责,也是对应聘者负责。那我们可以拒绝背调吗?企业在进行背调前,都是要征求当事人的意见的,可以拒绝背调,但是也很可能失去一次机会,因为如果不进行背调的话,部分企业就会选择放弃发放offer。背调对于一些人来说,确实是一道大关,但是话说回来,与其花心思在简历造假上,不如努力提升自己的专业能力。如本文让你有所收获,欢迎扫描上方二维码关注微信公众号,更多内容持续更新中点击关注公众号后,回复面试,可以领取我熬夜整理的大厂面经.PDF
2022年9月14日
其他

ClickHouse和Elasticsearch压测对比,谁才是yyds?

Lucene。它可以被这样准确地形容:一个分布式的实时文档存储,每个字段可以被索引与搜索一个分布式实时分析搜索引擎能胜任上百个服务节点的扩展,并支持
2022年9月13日
其他

并发重复请求,这才是优雅的处理方式!

✋点击“面试交流”加入交流群✋“置顶公众号”,每天推送面试专题对于一些用户请求,在某些情况下是可能重复发送的,如果是查询类操作并无大碍,但其中有些是涉及写入操作的,一旦重复了,可能会导致很严重的后果,例如交易的接口如果重复请求可能会重复下单。重复的场景有可能是:黑客拦截了请求,重放前端/客户端因为某些原因请求重复发送了,或者用户在很短的时间内重复点击了。网关重发….本文讨论的是如果在服务端优雅地统一处理这种情况,如何禁止用户重复点击等客户端操作不在本文的讨论范畴。利用唯一请求编号去重你可能会想到的是,只要请求有唯一的请求编号,那么就能借用Redis做这个去重——只要这个唯一请求编号在redis存在,证明处理过,那么就认为是重复的。代码大概如下:String
2022年8月26日
其他

你还在用分页?试试 MyBatis 流式查询,真心强大!

✋点击“面试交流”加入交流群✋“置顶公众号”,每天推送面试专题基本概念流式查询指的是查询成功后不是返回一个集合而是返回一个迭代器,应用每次从迭代器取一条查询结果。流式查询的好处是能够降低内存使用。如果没有流式查询,我们想要从数据库取
2022年8月26日
其他

请不要在Java项目中乱打印日志了,这才是正确姿势,非常实用!

点击上方蓝色字体,选择“设置星标”优质文章,第一时间送达来源:cnblogs.com/lovesqcc/p/4319594.html在程序中打错误日志的主要目标是为更好地排查问题和解决问题提供重要线索和指导。但是在实际中打的错误日志内容和格式变化多样,错误提示上可能残缺不全、没有相关背景、不明其义,使得排查解决问题成为非常不方便或者耗时的操作。而实际上,如果编程的时候稍加用心,就会减少排查问题的很多无用功。在阐述如何编写有效的错误日志之前,了解错误是怎么产生的,
2022年8月25日
国际局势

面试官给我挖坑:rm 删除文件之后,空间就被释放了吗?

点击上方蓝色字体,选择“设置星标”优质文章,第一时间送达来源:编程珠玑产生一个指定大小的随机内容文件一个文件什么情况下才会被删除?如何释放已经被删除文件占用的空间?总结在Linux,你是不是曾经天真的以为,使用rm删除一个文件,占用的空间就释放了?事情可能不是常常如人意。产生一个指定大小的随机内容文件我们先看一下当前各个挂载目录的空间大小:$
2022年8月25日
其他

公司这套架构统一处理 try...catch 这么香,求求你不要再满屏写了,再发现扣绩效!

点击上方蓝色字体,选择“设置星标”优质文章,第一时间送达来源:toutiao.com/i6878184496945070604/前言推荐理由实践1
2022年8月25日
其他

这本 Kubernetes 图书,你一定不要错过!

随着以Kubernetes为核心的云原生技术体系的逐渐成熟,开发一个媲美CloudFoundry这样的企业级PaaS不再是大公司的专利,也成了每个小团队甚至个人触手可及的目标。于是,越来越多的人在学习Kubernetes,但也有很多人抱怨Kubernetes“太复杂了”。根本问题在于,Kubernetes项目的定位是“平台的平台”,所以其核心功能、原语服务的对象是基础平台工程师,而非业务研发人员与运维人员;它的声明式API设计、CRD
2022年8月8日
其他

如何使用SpringBoot AOP 记录操作日志、异常日志?

✋点击“面试交流”加入交流群✋“置顶公众号”,每天推送面试专题平时我们在做项目时经常需要对一些重要功能操作记录日志,方便以后跟踪是谁在操作此功能;我们在操作某些功能时也有可能会发生异常,但是每次发生异常要定位原因我们都要到服务器去查询日志才能找到,而且也不能对发生的异常进行统计,从而改进我们的项目,要是能做个功能专门来记录操作日志和异常日志那就好了。当然我们肯定有方法来做这件事情,而且也不会很难,我们可以在需要的方法中增加记录日志的代码,和在每个方法中增加记录异常的代码,最终把记录的日志存到数据库中。听起来好像很容易,但是我们做起来会发现,做这项工作很繁琐,而且都是在做一些重复性工作,还增加大量冗余代码,这种方式记录日志肯定是不可行的。我们以前学过Spring
2022年8月5日
其他

再见阿里巴巴,希望以后不再有福报

✋点击“面试交流”加入交流群✋“置顶公众号”,每天推送面试专题作者:不行就改名链接:https://juejin.cn/post/6914581750111076359正好在离职交接空档期,就抽空简单分享自己的一些个人经历给大家,希望对刚毕业不久或者工作三五年的同学能有一些帮助。1:个人经历提文前先来一些简单的自我介绍,这部分水分较多,如果没兴趣的同学可以直接跳到第二部分看些面试题。我是16年本科毕业,毕业第一年在福建上班,17年到杭州,来杭州前,自己花了很长时间准备面试,本来信心满满,但是到了杭州,还是遇到很大的挫折。我还记得,当时有一个面试官问我说你说下什么是分布式,或者简单讲下集群和分布式的区别,我当时就卡壳了。之前在福建的时候我们做的项目,并发量非常少,并且我们服务一共也就是两三台机器,仅仅是为了做负载均衡用。虽然面试前做了很多准备,看了很多分布式相关的东西,并且说项目的时候也吹了一把,项目如何用到分布式,但是当面试官叫我简单讲下集群和分布式的区别的时候,居然一时答不上了。现在想想真的很尴尬。但杭州不愧是互联网之都,机会真的非常多,也可能是跟我前期准备比较足有关系,或者是我面的公司都比较小还是公司比较缺人的原因,反正记得当时我也拿了挺多offer。后面经过朋友推荐,选择了一家阿里系的合资公司。现在回过头来想想,真的非常感谢在杭州第一段工作的这段经历,在这里我遇到了很多很多优秀的同事(后面这些同事绝大多数也都去了阿里),也遇到了很不错的老板,并且也真正接触到了所谓的并发、分布式、集群、大促等项目经验。现在回想,真的很庆幸当时遇到的同事。我们当时那个团队真的氛围非常好,学习气氛很浓烈,我们当时经常私下组织技术分享,那段时间成长了非常非常多,不仅仅是最前沿的互联网技术,还有学习习惯。在这家公司我得到了非常多的机会,并且每个机会我也都把握住了,半年后我甚至都当上了5、6个成员的小组组长,当时距我毕业还没两年。我还记得当初晋升谈话的时候,有个评委跟我说的,你才刚毕业两年就开始带人了,这个对你是挑战也是一个坑,不管是技术和经验你都非常欠缺,一定不要迷失自己,对技术要始终抱有热情,不断进步。这句话我也同样送给在规模比较小的公司,刚开始工作不久就开始带人的其他同学。到18年中,我跳槽到了蚂蚁金服,就是做花呗借呗的那个阿里巴巴下面的蚂蚁金服。当时跳槽纯粹是因为身边很多同事都慢慢收到阿里的offer,其实作为我们当初那个阶段的计算机专业的人来说,基本都有一个BAT的梦(现在是2021年了,可能当初的BAT已经不那么香了)。我看到大家都出去尝试也心动了,就投了阿里的岗位。应该算是一点实力加一点运气吧,本来我是面的钉钉,后面阴差阳错去了蚂蚁金服。蚂蚁金服我是18年8月入职的,到21年的1月底,差不多两年半时间。因为我现在还在职,处在交接阶段,这里有很多事就不方便说了。在这里我遇到过很多挑战,同时也遇到很多牛逼的同事,学习到了很多做事方式。即将离开蚂蚁了,这里我也总结几个工作经验,包括我自己做的不好的几个地方,希望对后面的同学有一点借鉴:1:在阿里这种大厂,其实在很多公司也一样,沟通和反馈是非常非常重要,一味的埋头苦干的人其实是很吃亏的。我见过好几个踏实做事的同学被打上'325'走人的。所以一定要学会在老板和同事面前包装和表现自己。2:需求太多、运维工作量太大,平时各种琐事会充满你所有的时间(甚至包括你的睡眠时间和周末时间),一定要学会解脱(思考解法或者寻求帮助再或者甩给别人),然后自己抽身去做些有成长有意思的事情,只有这样你才有时间去搞些容易拿KPI的项目,不然到时候你剩下的只有抱怨为什么这么忙,为什么脏话累活都是你干。实际上这些抱怨一点用都没有,在老板和大多数人眼里,只能说明你什么事都搞不定。以结果为导向的价值观里,过程是不重要的!3:一般人的工作目的无非是为了在同等的条件下,获取更高的物质回报。如果你确实努力了也拼命了,还是得不到老板的精神认可,获取不到自己想要的物质回报,你要么改变自己,要么就改变环境-或者换个环境。4:工作是公司的,只有技术、成长还有健康是自己的。此处不留爷,自有留爷处,但是打铁还需自身硬,说白了,你想跳槽也是要看你实力,在日常工作中一定要抽时间多学习多总结,互联网这行业,技术更新换代速度太快,只有自己成长才是王道。2:面试经验我面的岗位是java
2022年7月28日
其他

MyBatis 的执行流程,写得太好了叭!

前言MyBatis可能很多人都一直在用,但是MyBatis的SQL执行流程可能并不是所有人都清楚了,那么既然进来了,通读本文你将收获如下:1、Mapper接口和映射文件是如何进行绑定的2、MyBatis中SQL语句的执行流程3、自定义MyBatis中的参数设置处理器typeHandler4、自定义MyBatis中结果集处理器typeHandlerPS:本文基于MyBatis3.5.5版本源码。概要在MyBatis中,利用编程式进行数据查询,主要就是下面几行代码:SqlSession
2022年7月1日
其他

推荐一款神仙颜值的 Redis 客户端工具,开源啦

日常开发过程中,项目常常都会使用Redis来做缓存或者Session服务器,为了更直观方便,开发者常常会使用一些可视化工具,如
2022年7月1日
其他

再见了,收费的 Navicat!

都不用下了,直接对想要查询的数据表点两下,就会在右边出现查询结果。最后让我们来看一下DBeaver的界面展示:开源最前线(ID:OpenSourceTop)
2022年6月28日
其他

不懂 FGC 的码农不是好厨师

点击上方蓝色字体,选择“设置星标”优质文章,第一时间送达通过这一个多月的努力,将FullGC从40次/天优化到近10天才触发一次,而且YoungGC的时间也减少了一半以上,这么大的优化,有必要记录一下中间的调优过程。对于JVM垃圾回收,之前一直都是处于理论阶段,就知道新生代,老年代的晋升关系,这些知识仅够应付面试使用的。前一段时间,线上服务器的FullGC非常频繁,平均一天40多次,而且隔几天就有服务器自动重启了,这表明的服务器的状态已经非常不正常了,得到这么好的机会,当然要主动请求进行调优了。未调优前的服务器GC数据,FullGC非常频繁。首先服务器的配置非常一般(2核4G),总共4台服务器集群。每台服务器的FullGC次数和时间基本差不多。其中JVM几个核心的启动参数为:-Xms1000M
2022年6月24日
其他

数据库连接池为什么要用 ThreadLocal 呢?

这个问题我疑问了很久很久,主要如下截图。我先说为什么引入threadlocal,其实是为了解决数据库事务,而事务是和连接有关的,每个连接对应一个事务,多个连接的事务是不一样的,先大概了解一下,往下看👇本人是在学threadlocal的时候,网上大部分人都是说数据库连接池是典型的用了threadlocal的例子,然后我就又查数据库连接池和threadloca的关系,但是,99%都说threadlocal是为了在并发的情况下,为了保证线程安全,创建了副本什么的,其实这只是threadlocal的用法之一,它还有个用法就是确保同一线程之间参数传递的方便(扯远了)回归正题,还是拿上面的图来说事。。。。我只讲两个关键点,明白人一看就懂:1、两者有根本性的区别,用处不一样!连接池是缓存并托管数据库连接,主要是为了提高性能。而ThreadLocal缓存连接,是为了把同一个数据库连接“分享”给同一个线程的不同调用方法。(不管调用哪个方法,都是使用的同一个连接,方便进行“跨方法”的事务控制)举个栗子:如果一个请求中涉及多个
2022年6月23日
其他

ThreadLocal内存溢出代码演示和原因分析!

OOM)是指无用对象(不再使用的对象)持续占有内存,或无用对象的内存得不到及时释放,从而造成的内存空间浪费的行为就称之为内存泄露。内存溢出代码演示在开始演示
2022年6月23日
其他

入职腾讯第九年,我辞职了!!!

✋点击“面试交流”加入交流群✋“置顶公众号”,每天推送面试专题静下心来听听这个故事,相信会给正在奋斗的你一些启发下周就是我加入腾讯九周年,我选择在同一天辞职离开公司,迎接新的事业挑战。很多朋友都觉得这个消息太突然,毫无征兆;也有朋友觉得毫不惊讶,觉得我一定会有这一天。感觉很突然,可能是因为我已经在腾讯工作9年,且顺风顺水,按照惯性推理应该继续做下去。而感觉毫不惊讶的,可能也因为这与我一直以来的价值观是匹配的,在去年的8周年总结中就写得很清楚了:……如果完全胜任还没有被安排更有挑战的工作,要么自己找事情做,要么跳槽转岗。工作九年,我的关系网大部分都在腾讯,因此我想写一篇文字给朋友们,说明我这样决定的原因。当然,不能代替请客吃饭,我很希望老朋友们随时来激活我的头像。不用我说大家也知道腾讯很好,而且在越来越好。记得2010年毕业拿到腾讯offer,那时候腾讯的知名度限定在“年轻人”,父母给亲戚同事说起,需要补一句“是那个开发QQ的公司”。后来,微信时代、王者时代,腾讯的好可以说是众所周知,无须解释。现在,腾讯的好可以说是“斩钉截铁、毋容置疑”,甚至你说腾讯哪里没做好,都有人跳出来反对,腾讯没做好怎么做到亚洲市值第一第二?确实如此,腾讯崇尚自由主义,不同的团队就像一个个创业公司,自下而上的创新加上赛马机制,孵化了微信、王者,这在其他自上而下的公司是不可能出现的。这么说来腾讯颇有点“雅典学院”的氛围,让大家不会有太多勾心斗角,只需做好自己的研究和工作。公司创造环境,不但不收学费,反而给与很有竞争力的薪酬,只要求你认真地做好每一道题。学习成长反而能挣到钱,简直不要有这么好的事,让我想起巴菲特的老师格雷厄姆教授,他会在课堂布置作业,选一些公司让大家分析,就有的学生去听课顺便买股票,把学费都挣回来。1.腾讯的氛围适合有自驱力的人我能直观感受到的就是在员工成长上也很自由,公司会给每一个入职的新人分配“导师”,让“学生”在工作和生活上遇到困难时都可以求助。我之前的导师其实不太管我,我不找他,基本上不主动让我做什么,但他的专业能力很强,我通过观察从他身上学到很多的东西。导师不用硬塞给新人一些理念,只要做好自己的事情,有自己的价值观,新人就可以自己观察和思考。总的来说,擅长观察和模仿的学生就能很快成长。我的几任leader都很好。leader会鼓励我选定一个课题去研究,遇到困难就帮我梳理思路,慢慢学会自己做一些决策,后来就是给更多责任,去带人和带团队。后来我的直属经理(ISUX的掌门人)对我更好,他观察到我在专业发展遇到瓶颈,同时对项目本身的体验问题非常积极,就问我要不要换一个课题研究——产品体验设计,这给我打开新的大门。还有业务部门的经理、开发总监甚至VP,也很信任地给我机会做一些项目策划的事情,从项目和用户体验的源头去策划需求,而不是接到一个需求然后去做。我在项目中学到很多产品闭环的知识,也从ISUX中学到很多专业细分的东西。上图是社交线的老板Ross送我的临别礼物我领悟到真正好的领导就是信任下属,让下属去做一件可能失败的事情,这过程比培训和教育都有效,因为它让人有自驱力,让人有成就感。
2022年6月22日
其他

大专学历造假改成了 211 拿到了抖音 Offer

以后选择造假,包括学历,工作经历,那么你觉得这波骚操作如何呢?先让我们看看家的风向吧其实大家普遍认为这个
2022年6月21日
其他

一文全面解析 Postman 工具

http://localhost/index.php/home/Uploadify/imageUp/savepath/head_pic/pictitle/banner/dir/images.html
2022年6月20日
其他

面试交流群

面试交流群为迎接金三银四特别创建面试交流群,禁止一切广告,有兴趣可以扫码加入,一起打卡学习知识。如果满
2020年2月1日
其他

咱们从头到尾说一次 Java 垃圾回收

Collection)严格来说并不是一种思想或理论,而是融合上述3种基础的算法思想,而产生的针对不同情况所采用不同算法的一套组合拳。对象存活周期的不同将内存划分为几块。一般是把
2019年7月19日
其他

你是一直认为 count(1) 比 count(*) 效率高么?

因为增加了版本控制(MVCC)的原因,同时有多个事务访问数据并且有更新操作的时候,每个事务需要维护自己的可见性,那么每个事务查询到的行数也是不同的,所以不能缓存具体的行数,他每次都需要
2019年6月20日
其他

阿里一年,聊聊我成长了什么

学习能力,是我认为真正的技术能力,不过说到底,学习能力某种程度上也只是为了解决问题而已。
2019年6月13日
其他

在吗?我有问题想请教一下你

check,体现自己的热情和严谨,而是低级趣味。第一次写这么煽情的文章,说了这么多可能有人多人不赞同我,没关系,我只希望能理解我的人理解我,能理解文章的人理解自己就好了。遗漏热文?赶紧标星1.
2019年6月11日
其他

Spring Boot 为什么这么火火火火火火?

configuration)。约定优于配置并不是一个新概念,它是一种软件设计范式,很早就应用在软件架构设计中,它的作用是减少软件开发人员需做决定的数量,获得简单的好处,而又不失灵活性。只是
2019年6月6日
其他

用了这么多年 Spring Boot 你知道他爹有多大背景吗?

提供的工具能够帮助开发人员构建更出色软件,可让您在任意云环境中运行应用的平台,帮助您打造未来。公司的产品主要分为三大类:部署和运行软件,规划、构建和集成软件,分析和决策部署和运行软件Pivotal
2019年6月5日
其他

这算是有史以来讲数据库连接池数最清楚的文章了

提供,不过底层原理是不变的,它适用于市面上绝大部分数据库产品。还有,你应该模拟预期的访问量,并通过下面的公式先设置一个偏合理的值,然后在实际的测试中,通过微调,来寻找最合适的连接数大小。连接数
2019年5月21日
其他

自己工作环境没机会接触高并发、分布式怎么办?

点击上方蓝色字体,选择“设置星标”优质文章,第一时间送达面试总会遇到一些关系高并发、分布式的问题,可是自己工作中不接触,自学又不深入,这可怎么办?分布式架构的知识太庞大了,我也是管中窥豹,结合自己的经验阐述一下自己的想法。结合我自己的一些面试经历,从分布式系统的构建体系说一下可能遇到的问题,涉及的技术和解决方案,这便是分布式系统的重点,也是面试的重点。我们从业务场景入手,用户越来越多,单个系统的内存、磁盘、CPU无法满足业务的需求的时候,需要把单机变成多机来解决问题,那么就需要引入分布式横向的扩充机器以增加吞吐量。针对不同的业务的需要的硬件、带宽、重要性不同,我们又一次做细粒度的拆分,把每一个模块根据业务的上下文进行拆分,这样就有了微服务。那么同时也引发了一些问题,一个请求需要协同多个服务来解决,势必会出现数据不一致的问题?那么我们就需要在
2019年5月14日
其他

到底线程池应该设置多少合适?

点击上方蓝色字体,选择“设置星标”优质文章,第一时间送达图片来源:凤凰网大家都写过多线程应用,也都用过线程池,那么线程池究竟设置多少个合适呢?想必这个问题困恼着我们很多人,我们中的大部分都是拍着脑袋决定的。针对
2019年5月5日
其他

每一个开发人员都应该懂的 UML 规范

点击上方蓝色字体,选择“设置星标”优质文章,第一时间送达在团队协作过程中最常见的就是开会、开会最常用的就是图,而图中最常见的就是流程图、时序图、类图,这三个图可以清楚的描述你想解释的内容。学好类图不仅仅能帮助自己更清楚的梳理业务,还能提高开会效率。但是话说回来,你是否真的看懂别人画的图了?或者你真的会画吗?今天就和大家一起学习一下怎么画类图。上图是我模拟出来的一个场景和大家具体说一下类图究竟应该怎么画才对。图中讲的是这样一个「故事」:一个公司下面有很多部门,公司和部门是不可分割的。码农属于一个部门,但是如果部门解散了,码农依然依然是码农。码农无时无刻在用手机,只有工作时间才会使用
2019年4月29日
其他

没有项目经验找工作处处碰壁怎么办

点击上方蓝色字体,选择“设置星标”优质文章,第一时间送达最近很多马上要毕业的同学遇到了一些问题:我马上就要毕业了没有开发经验怎么办?我投递了
2019年4月26日
其他

读技术书籍一定要读最经典的

权威指南》里面讲的非常详细,不过这本书内容较多,可以买来作为工具书遇到不懂的地方拿来翻看。但是一些具体的细节可能理解起来不容易,这时候阅读如果遇到问题可以参考《图解HTTP》,这本书就更容易理解。
2019年4月22日
其他

阿里应届生复习面试攻略

对于想进入大厂实习的同学,首先一定要综合全面的审视自己的“软硬件能力”,扬长避短,选择合适的岗位,才能在人才济济的面试中脱颖而出。各个大厂的实习面试时间不固定,大概都会在3月开始到6月结束。
2019年4月18日
其他

并不是所有的 Github 写在简历上都加分

首页。这样不但不能加分反而减分。这样就好比随意粘贴来别人辛苦写的公众号文章作为自己的原创一样。乱命名,这几天在收到的简历里面发现了好多github命名方式千奇百怪,比如
2019年4月16日
其他

跳槽的必要条件是有一份好的简历

果哥本文经授权转自果汁简历工欲善其事必先利其器,这是自古以来的道理,所以如果想找到一份好的工作,一定要先整理一份好的简历。模板写简历首先要有一个好的模板,我们做技术的不同于
2019年4月8日
其他

线程池是怎样工作的

时,则不能创建新的线程。另外,当线程工厂创建线程失败时,也不能创建新的线程。还有就是当前工作线程的数量与核心线程数、最大线程数进行比较,如果前者大于后者的话,也不允许创建。除此之外,会尝试通过
2019年4月3日
其他

跳槽季如何快速全面复习面试题

的需求呢?这样类似的需求就不需要你查数据,再在内存里面计算和操作了。比如我们简单的周排行,月排行都可以考虑使用这个数据结构实现,当然并不一定这是最好的解决方案,而是提供了一种解题思路。
2019年1月12日
其他

三周学会小程序第六讲:登录优化和存储用户信息

上一讲主要讲解了微信小程序登录的原理和实现《三周学会小程序第五讲:登录的原理和实现》,这一讲主要是对登录流程进行优化,同时登录成功后把用户信息存入服务器端数据库。这一讲涉及的服务端知识比较多,比如
2018年11月29日
其他

三周学会小程序第五讲:登录的原理和实现

就是我们想要的用户信息。我们再模拟器里面点击按钮,在控制台里面查看具体的信息,具体模拟器和控制台怎么用,我们在《客户端代码准备和基础功能讲解》中已经有讲解。
2018年11月26日
其他

三周学会小程序第四讲:Heroku 绑定 Github 自动部署

另外小编创建了一个技术交流群,请添加小编微信,切记备注“小程序”,小编拉你进去。【只讨论技术,非诚勿扰】
2018年11月23日
其他

三周学会小程序第三讲:服务端搭建和免费部署

Heroku,免费必定有限制,比如15分钟不访问会自动宕机,下次访问会自动启动,每个账号有550个小时的免费使用时长,不过虽然有这些限制,对于我们做测试使用已经足够了,而且它还会提供一个
2018年11月16日
其他

三周学会小程序第二讲:客户端代码准备和基础功能讲解

JAVA,那么可能几个月以后你才能真正动手做项目,所以我们按照“拿来主义”,直接拿来就读,读懂就改,改完就上线。不过你不用担心这样学习的不彻底,因为开发过程中你已经融会贯通了。
2018年11月12日
其他

三周学会小程序第一讲:小程序申请和注意事项

4,个人开发者不支持PC端微信登录,所以即便是有OpenId的概念也不能把PC和小程序打通。所以有PC和小程序两个客户端的需求的朋友,可以考虑注册工作,或者参考后面章节小编的一个“签名”的巧妙方式。
2018年11月10日
其他

手把手带你做项目,3周学会小程序

HTML,CSS,JAVA即可,如果你真的一点不会也有兴趣,也可以试试,只是会吃力,不过有问题可以大家一起讨论。文末会有一个小程序交流群,欢迎大家随时讨论技术相关知识,切记广告者勿入。
2018年11月8日
其他

【项目实记】使用内存做关键信息的缓存来提升 QPS 和 减少开销

JAVA、并发编程、性能优化、架构设计、小程序、开源软件等。有兴趣可以关注一波,一起学习、讨论。
2018年9月1日