摘要: 我已经工作十多年,从事过多年的业务研发和技术管理工作,也有过短暂的创业经历。由于工作需要,我曾经阅读过上千份简历,面试过上百个求职者,在程序员求职招聘领域积累了丰富的经验。在进入社会头几年,我也不懂得如何面试,表达能力也差,面试成功率非常低。但是我特别勤奋,面试之后都会复盘总结,面试成功率迅速提升。 阅读全文
posted @ 2022-06-08 15:22 编码砖家 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 算法每日练习,这些算法题来自leetcode,涉及到字符串处理、TOP N查找、链表操作等等 阅读全文
posted @ 2019-10-16 11:33 编码砖家 阅读(723) 评论(0) 推荐(0) 编辑
摘要: 面试连环炮系列汇总,涉及Java基础、数据库、分布式理论、中间件等等 阅读全文
posted @ 2019-10-08 16:08 编码砖家 阅读(1974) 评论(0) 推荐(3) 编辑
摘要: 协程不是操作系统的底层特性,系统感知不到它的存在。它运行在线程里面,通过分时复用线程的方式运行,不会增加线程的数量。协程也有上下文切换,但是不会切换到内核态去,比线程切换的开销要小很多。每个协程的体积比线程要小得多,一个线程可以容纳数量相当可观的协程。在IO密集型的任务中有着大量的阻塞等待过程,协程采用协作式调度,在IO阻塞的时候让出CPU,当IO就绪后再主动占用CPU,牺牲任务执行的公平性换取吞吐量。 阅读全文
posted @ 2022-08-31 13:45 编码砖家 阅读(629) 评论(4) 推荐(2) 编辑
摘要: 操作系统支持多个应用程序同时执行,每个应用至少对应一个进程,彼此之间的操作和数据不受干扰。当一个进程需要磁盘IO的时候,CPU就切换到另外的进程,提高了CPU利用率。有了进程,为什么还要线程?因为进程的成本太高了。启动新的进程必须分配独立的内存空间,建立数据表维护它的代码段、堆栈段和数据段,这是昂贵的多任务工作方式。如果两个进程之间需要通信,要采用管道通信、消息队列、共享内存等等方式。线程可以看作轻量化的进程,或者粒度更小的进程。线程之间使用相同的地址空间,切换线程的时间远远小于切换进程的时间。一个进程的开销大约是线程开销的30倍左右。 阅读全文
posted @ 2022-08-27 23:58 编码砖家 阅读(354) 评论(0) 推荐(2) 编辑
摘要: 操作系统的”进程”很早就出现了,许多教科书上定义这个概念总是晦涩难懂。计算机技术发展太快了,简单的概念经过无数次演化,也会变得复杂。我们追溯一下操作系统的发展历史,就能理解进程解决了什么问题、为什么这样设计。进程是独立功能的程序的一次动态执行过程,也是系统资源分配的独立实体。每个进程都拥有独立的地址空间。一个进程无法访问另一个进程的变量和数据结构,如果想让一个进程访问另一个进程的资源,要使用进程间通信,比如管道、文件、套接字等。 阅读全文
posted @ 2022-08-23 13:38 编码砖家 阅读(571) 评论(0) 推荐(0) 编辑
摘要: 互联网公司管理研发流程,常常使用TAPD一类的敏捷工具。一个需求从提出到上线要经历至少七个流程。初级工程师往往做不好需求评审工作。要么被产品经理牵着鼻子走,让干什么就干什么;要么预估不到隐藏的工作量,在开发排期阶段给出不合理的排期,导致开发时间紧张,最后加班应付测试。 阅读全文
posted @ 2022-07-28 15:34 编码砖家 阅读(984) 评论(4) 推荐(6) 编辑
摘要: 在计算机发展的早期,一直都是集中式计算,计算能力依赖大型计算机。随着互联网的发展,繁重的业务需要巨大的计算能力才能完成,而集中式计算无法满足要求,大型计算机的价格也非常昂贵。分布式计算将任务分解成更小的部分,分配给多台计算机处理,这样可以节约整体计算时间,大大提高计算效率。互联网大型网站往往面临高并发访问、海量数据处理等问题,必须保证系统高可用、易伸缩等等。分布式架构采用多台机器协同工作,动态伸缩容量,使用冗余节点来消除单点故障,提高系统可用性。 阅读全文
posted @ 2022-07-27 11:52 编码砖家 阅读(777) 评论(0) 推荐(3) 编辑
摘要: 严格来说,我算是全栈开发者,不是用Node.js通吃的伪全栈,而是掌握了HTML、CSS、JavaScript / JQuery、Vue、Android以及Java技术体系的真全栈。我并不是跟大家吹嘘自己技多不压身,因为掌握前端技术完全是生活所迫。如果可以选,我宁愿把花在JavaScript的时间用去学习Java。 阅读全文
posted @ 2022-06-30 10:02 编码砖家 阅读(587) 评论(0) 推荐(0) 编辑
摘要: 今天在技术群里看到关于优秀程序员特质的话题,让我想起多年前的一个同事,一个我最鄙视的程序员。他的名字叫李伟(化名),是入职没多久的员工,我所在的开发二组和他在的一组,以前没有过工作交集。某一天上级安排我们两组人合作开发一个小额贷款项目,在基础服务上构建一个可以灵活对接多个贷款渠道的系统。 阅读全文
posted @ 2022-06-26 22:34 编码砖家 阅读(307) 评论(2) 推荐(0) 编辑
摘要: 刚入职场的那几年,我经常对工作有各种抱怨。回想起来,有两次冲动的不必要的离职,或者说应该干得更久一点。一旦有了离职的想法,整个人每天都纠结是去还是留,这种纠结成倍的放大焦虑,让自己做出错误的决策。如果你也有离职的纠结,无论原因是什么,都可以问自己:离职,问题就解决了吗?离职固然可以解决一些问题,但是与职业规划和个人性格有关的问题,换公司要谨慎。 阅读全文
posted @ 2022-06-20 23:10 编码砖家 阅读(2637) 评论(4) 推荐(6) 编辑
摘要: 2009年大学毕业我去了成都,一番面试后,入职武侯区磨子桥附近的一个小型创业公司。公司的主营业务是代理销售用友或者金蝶的ERP软件,创业团队都是川大毕业的。公司的办公条件很差,两间不足30平米的办公室,挤了七八个人。在入职第一天,我认识了一个美丽的同事,叫做卢姗姗(化名)。有一天她躺在沙发上午睡,长长的睫毛,精致的五官,白皙的皮肤,乌黑的长发扎在脑后,手腕上系着红色手链。 阅读全文
posted @ 2022-06-19 22:21 编码砖家 阅读(255) 评论(0) 推荐(1) 编辑
摘要: 许多自媒体经常发一些标题雷人的文章,内容却非常空洞甚至低俗,技术创作领域也未能幸免,这个搞法被大家笑称为“标题党”。互联网是眼球经济,靠标题骗点击量的恶习将会一直持续下去。用标题吸引读者进来,一定要呈现真正优质的内容,才不辜负读者的期待。我一直把自己当半个文人,尽管很清楚这种标题的套路,但是一直嗤之以鼻,完全不屑于用。今天,我做出一个违背祖宗的决定,给大家分享9个起标题的技巧。即使大家不写文章不做自媒体,这些技巧在职场做报告也用得上。 阅读全文
posted @ 2022-06-16 13:14 编码砖家 阅读(449) 评论(0) 推荐(1) 编辑
摘要: 我对ASP的感情,跟大海一样深。我用它实现了第一个动态网页,也用它做了毕业设计,毕业设计的名字是《毕业设计管理系统》(是不是有点绕)。在 PHP 和 ASP.NET、Java 高歌猛进的今天,许多90和00后程序员对ASP比较陌生了。1996年微软公司推出 ASP(Active Server Page),很快成为中小型网站开发的首选。许多企业的门户网站和中小型新闻网站都采用基于ASP开发的内容管理系统。用友软件公司早期几款安身立命的ERP软件,也是采用ASP开发。 阅读全文
posted @ 2022-06-15 14:05 编码砖家 阅读(1564) 评论(17) 推荐(1) 编辑
摘要: 广义的开放平台是个庞大的结构,它站在核心业务系统的前面,承接着所有的流量。公司所有的客户端比如Web站点、手机APP、智能硬件都对接开放平台API,只是各自的权限不同,可以访问的资源不同。狭义的开放平台只是打开了一扇门,让合作伙伴进来参与业务互动。从业务层面上看,开放平台属于流量渠道之一。本文重点讨论的是狭义的开放平台。 阅读全文
posted @ 2022-06-14 22:30 编码砖家 阅读(1142) 评论(1) 推荐(5) 编辑
摘要: 有个朋友最近想跳槽,他对管理的兴趣不大,而且认为自己的性格也不适合做管理,更想成为技术专家。基于这些考虑,他希望能进入知名大厂,如果面试不顺利,去小而美公司也行。他的面试经验不多,就向我咨询了一下如何选择公司的问题。小公司必然缺钱缺人,技术团队几乎没有美,99%都是草台班子。有一些上万职员的大公司,运营着很多业务线,每条线又有多个技术团队,这些技术团队的水平良莠不齐,也存在部分草台班子。 阅读全文
posted @ 2022-06-14 11:58 编码砖家 阅读(4005) 评论(20) 推荐(38) 编辑
摘要: 我已经工作十多年,从事过多年的业务研发和技术管理工作,也有过短暂的创业经历。由于工作需要,我曾经阅读过上千份简历,面试过上百个求职者,在程序员求职招聘领域积累了丰富的经验。在进入社会头几年,我也不懂得如何面试,表达能力也差,面试成功率非常低。但是我特别勤奋,面试之后都会复盘总结,面试成功率迅速提升。 阅读全文
posted @ 2022-06-08 15:22 编码砖家 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 数据库读写分离的目的是什么;读写分离会带来什么问题?如何解决;MySQL主从复制的原理清楚吗;读写分离具体怎么实施呢 阅读全文
posted @ 2022-03-29 11:10 编码砖家 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 如何保证缓存与数据库的数据一致性;如果只要数据最终一致性,该怎么做呢;为什么是删除缓存,而不是更新缓存;如果删除缓存失败了,怎么解决? 阅读全文
posted @ 2022-03-29 11:09 编码砖家 阅读(240) 评论(0) 推荐(1) 编辑
摘要: 最近有个项目要在浏览器端裁剪并上传图片。由于缺乏人力,只能我上阵杀敌。通过参考各种文章,最后决定用croopperjs进行图片裁剪,用webuploader上传文件。本文涉及到的知识至少有Java基础、SpringMVC、thymeleaf模版引擎、JS基础、JQuery基础、Bootstrap组件,但是文章重点只是croopperjs和webuploader的组合运用,其他的都是辅助。 阅读全文
posted @ 2022-03-29 10:35 编码砖家 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 什么情况下JVM频繁发生full GC; 在实际项目什么代码导致full GC;线上怎么排查是哪个程序导致的ful GC 阅读全文
posted @ 2022-03-25 17:59 编码砖家 阅读(320) 评论(0) 推荐(0) 编辑
摘要: RocketMQ怎么保证消息不丢失;如何保证消息不重复;消费端收到两条一样的消息,应该怎样处理;可以是实现顺序消息吗;使用顺序消息存在哪些问题 阅读全文
posted @ 2022-02-28 16:23 编码砖家 阅读(549) 评论(0) 推荐(0) 编辑
摘要: 入职乐信的用户增长部门快两年时间了,一直非常繁忙,应付频繁迭代的需求和合作方技术支持。不至于996,但是995是肯定的。我没有获得任何成就感,也没时间提升技术能力或者其他软实力。和我以往经历的公司不同,乐信有比较严格的KPI考核,以及人员的职级划分。职级越高的人工资越高,工作强度和压力也越大。 阅读全文
posted @ 2021-07-27 18:13 编码砖家 阅读(2663) 评论(6) 推荐(2) 编辑