程序员,选择和努力哪个重要? 程序员,选择和努力哪个重要? 从年初到现在面试了近百人。面试中发现,有的同学还应该再努力些再换工作;而有的同学已经很努力了,做的很好,但没有选择好,去了不适合自己的公司。能力好,又选择了好公司好岗位的,还真是不多。如何才能选到好公司好岗位呢?到底选择和努力哪个更重要呢?选择这里说的选择,是说程序员如何选择一个好工作。要做到的是选择好行业、...
Leetcode 第137场周赛解题报告 Leetcode 第137场周赛解题报告 今天的比赛的题目相对来说比较「直白」,不像前几周都是一些特定的算法,如果你没学过不可能想出来。做了这些周,对leetcode比赛的题目也发现了一些「规律」。 一般前两道题都很「简单」,只要有想法,直接敲代码就能解出来。更多考察的是结果是否正确,速度其次。后两道题有些难度 ,不同场次难度不一样,也可能和不...
Leetcode 第137场周赛解题报告 今天的比赛的题目相对来说比较「直白」,不像前几周都是一些特定的算法,如果你没学过不可能想出来。做了这些周,对leetcode比赛的题目也发现了一些「规律」。 一般前两道题都很「简单」,只要有想法,直接敲代码就能解出来。更多考察的是结果是否正确,速度其次。后两道题有些难度 ,不同场次难度不一样,也可能和不同人的水平感受不同。但是肯定比前两道要难。一般在做后两道题的时候,只要复杂度是对...
Leetcode 第136场周赛解题报告 Leetcode 第136场周赛解题报告 周日的比赛的时候正在外面办事,没有参加。赛后看了下题目,几道题除了表面要考的内容,还是有些能发散扩展的地方。做题目不是最终目的,通过做题发现知识盲区,去研究学习,才能不断提高。理论和实际是有关系的,一些题目也都有现实意义。计算机的一些模拟操作,通过数学算法,能够大大减轻代码量和算法复杂度。第一题是机器...
Leetcode 第136场周赛解题报告 周日的比赛的时候正在外面办事,没有参加。赛后看了下题目,几道题除了表面要考的内容,还是有些能发散扩展的地方。做题目不是最终目的,通过做题发现知识盲区,去研究学习,才能不断提高。理论和实际是有关系的,一些题目也都有现实意义。计算机的一些模拟操作,通过数学算法,能够大大减轻代码量和算法复杂度。第一题是机器人在坐标系上直走和转弯,通过简单的模拟就能实现。但是仔细思考发现还能通过线性代数,...
Leetcode 第135场周赛解题报告 Leetcode 第135场周赛解题报告 这周比赛的题目很有特点。几道题都需要找到一定的技巧才能巧妙解决,和以往靠数据结构的题目不太一样。就是如果懂原理,代码会很简单,如果暴力做,也能做出来,但是十分容易出错。第四题还挺难想的,想了好久才想明白。这次先讲第四题,然后再讲其他的题目。下面是详细的题解和思考。比赛的地址 Weekly Cont...
Leetcode 第135场周赛解题报告 这周比赛的题目很有特点。几道题都需要找到一定的技巧才能巧妙解决,和以往靠数据结构的题目不太一样。就是如果懂原理,代码会很简单,如果暴力做,也能做出来,但是十分容易出错。第四题还挺难想的,想了好久才想明白。这次先讲第四题,然后再讲其他的题目。下面是详细的题解和思考。比赛的地址 Weekly Contest 135https://leetcode-cn.com/contest/w...
程序员如何当好面试者 程序员如何当好面试者 如何当好面试者经过对一些面试者的观察,如果有些方面做的更好一点,会大大增加面试的效率,提升通过面试的概率。希望即将参加面试的同学,能够从以下这些点得到帮助。明确的目标在参加面试之前,要先思考好面试的目的。为什么去面试?即将参加的这场面试,如果通过之后,是否满足你的要求。如果确定要去参加,要对面试的公司,面试的岗位做些功...
程序员如何当好面试官 程序员如何当好面试官 今年面试的人比较多,加起来快一百人了。由于面试任务比较多,也有越来越多的小伙伴加入了面试官的行列。总结一些面试相关的方法论,希望新晋面试官有些帮助,最终能高效面试。必备思维面试官的目标是为组织找到合适的人,一切行为都是围绕这个主体来运作的。我们现在的面试还是类似于考试,这是一种能够在短时间内高效选择到合格面试者的方法。...
如何当好面试者 如何当好面试者经过对一些面试者的观察,如果有些方面做的更好一点,会大大增加面试的效率,提升通过面试的概率。希望即将参加面试的同学,能够从以下这些点得到帮助。明确的目标在参加面试之前,要先思考好面试的目的。为什么去面试?即将参加的这场面试,如果通过之后,是否满足你的要求。如果确定要去参加,要对面试的公司,面试的岗位做些功课。知己知彼百战不殆。了解多一分,过的可能性就大一分。准备简...
如何当好面试官 今年面试的人比较多,加起来快一百人了。由于面试任务比较多,也有越来越多的小伙伴加入了面试官的行列。总结一些面试相关的方法论,希望新晋面试官有些帮助,最终能高效面试。必备思维面试官的目标是为组织找到合适的人,一切行为都是围绕这个主体来运作的。我们现在的面试还是类似于考试,这是一种能够在短时间内高效选择到合格面试者的方法。存在误杀:和高考一样,面试不合格的人,也可能做好招聘岗位的工作...
Leetcode 第133场周赛解题报告 Leetcode 第133场周赛解题报告 今天参加了leetcode的周赛,算法比赛,要求速度比较快。有思路就立马启动,不会纠结是否有更好的方法或代码可读性。只要在算法复杂度数量级内,基本上是怎么实现快速就怎么来了。比赛时先看的第二题,一看题就有了思路,直接用的广度优先搜索,写完提交正确。再一看有人都做了3道题了,应该是职业选手了,要多像他们看齐...
Leetcode 第133场周赛解题报告 今天参加了leetcode的周赛,算法比赛,要求速度比较快。有思路就立马启动,不会纠结是否有更好的方法或代码可读性。只要在算法复杂度数量级内,基本上是怎么实现快速就怎么来了。比赛时先看的第二题,一看题就有了思路,直接用的广度优先搜索,写完提交正确。再一看有人都做了3道题了,应该是职业选手了,要多像他们看齐。之后看第一题,发现直接用贪心就能做,写了个双重循环,一次过掉。第三题求最优连...
一些微信功能的观察与想法 微信这个国民级APP,有些产品特性还是很有特点的。把之前的发现记录一些,可以参考下背后的哲学和道理。PC版去掉帮忙删空格功能在之前的某个微信PC版本,热心地帮用户把消息前后的空格给删除掉。但是在后来的版本迭代中,又给去掉了。用户有时真的就要在消息前面发空格,帮用户删掉很热心,但用户可能也不买账。发现tab中可以删掉所有功能记得从前「朋友圈」和「玩一玩」是删不掉的,现在的版本是...
人人都要effective 人人都要effective最近发现,几本不同领域的书,看中文翻译后的书名也都没什么联系,但是英文书名都有一个词——effective。公司也在倡导高效会议、提高工作效率。原来我们一直在学习的内容,和追求的目标,用一个单词符号就可以概括——effective。《高效能人士的七个习惯-The 7 Habits of Highly Effective People》曾经有一位老大哥...
如何高效工作——团队篇 如何高效工作——团队篇 前面两篇文章讲了个人篇如何高效工作。通过学习硬件篇和软件篇的方法,可以达到个人高效。但软件开发是一个团队合作的工作。涉及到产品经理,开发,运维等多种角色合作。需要整个团队整体配合,执行一致,才能达到高效工作。就像一个足球队,只有一名队员技术强,甚至每个球员技术强,都是不够的,还需要各个角色配合好才能取得成绩。要团队整体高效...
90%的程序员都犯过的代码错误 最近参加了多次的代码review会,在review的过程中,发现有些问题几乎每次都出现。挑了几个比较典型的问题讲解下。这几个问题都是初级问题,解决方法都很容易。只要掌握了方法,有意识避免,能让短时间内迅速提高代码质量。真所谓投入小,见效快。变量命名不清晰,一词多义为变量命名时最重要的考虑事项是,该名字要完全、准确地描述出该变量所代表的事务。容易阅读,不会与其他事务混淆。例如:if(staf...
找到bug的根源,问五次为什么 在学习《问题分析与解决》时学到了一种找到问题根源的方法——问五次为什么。具体内容是:当遇到一个问题,不要只看当前答案,要继续往下问,为什么,连问五次,就能够找到更深层次的问题。最近在复盘bug的时候,也使用了这种方法,屡试不爽。案例前端发布后,页面按钮点击失效,用户反馈问题,前端回滚代码后恢复。问题一、为什么按钮点击会失效?因为前端代码写出了一个bug,没有对空对象进行判空,导致页面js...
程序员如何高效工作——个人软件篇 在上一篇《如何高效工作——个人硬件篇》介绍了硬件层面提高的方法。即通过加快操作熟练性,升级办公用具的方法,提高工作执行速度。本质工作的流程和步骤不变,但是执行时间缩短。今天说的软件篇,里面介绍的方法,是优化工作执行的方式,让事情的解决效率,有指数级的提升。就像你用快速排序和用冒泡排序相比,优化了算法复杂度,排序速度有量级的提升。具体到各行各业的工作,有很多和工作内容相关联的方法。在此提一些通用的...
如何高效工作——个人软件篇 在上一篇《如何高效工作——个人硬件篇》介绍了硬件层面提高的方法。即通过加快操作熟练性,升级办公用具的方法,提高工作执行速度。本质工作的流程和步骤不变,但是执行时间缩短。今天说的软件篇,里面介绍的方法,是优化工作执行的方式,让事情的解决效率,有指数级的提升。就像你用快速排序和用冒泡排序相比,优化了算法复杂度,排序速度有量级的提升。具体到各行各业的工作,有很多和工作内容相关联的方法。在此提...