<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>程序员 on 庞玉栋个人博客</title><link>https://pangyd.com/tags/%E7%A8%8B%E5%BA%8F%E5%91%98/</link><description>Recent content in 程序员 on 庞玉栋个人博客</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Wed, 11 Jul 2018 08:56:50 +0800</lastBuildDate><atom:link href="https://pangyd.com/tags/%E7%A8%8B%E5%BA%8F%E5%91%98/index.xml" rel="self" type="application/rss+xml"/><item><title>程序员的日常</title><link>https://pangyd.com/post/190/</link><pubDate>Tue, 26 Jun 2018 11:31:21 +0800</pubDate><guid>https://pangyd.com/post/190/</guid><description>&lt;p>&lt;span>大神写的代码&lt;/span>&lt;/p>&lt;p>&lt;img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E">&lt;/p>&lt;p>&lt;span>自己写的代码&lt;/span>&lt;/p>&lt;p>&lt;img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E">&lt;/p></description></item><item><title>Java后端程序员1年工作经验总结</title><link>https://pangyd.com/post/169-java1/</link><pubDate>Wed, 15 Nov 2017 19:26:07 +0800</pubDate><guid>https://pangyd.com/post/169-java1/</guid><description>&lt;p>&lt;span>&lt;span>1.引言&lt;/span>&amp;nbsp;&lt;/span>&lt;br>&lt;/p>&lt;p>　毕业已经一年有余，这一年里特别感谢技术管理人员的器重，以及同事的帮忙，学到了不少东西。这一年里走过一些弯路，也碰到一些难题，也受到过做为一名开发却经常为系统维护和发布当救火队员的苦恼。遂决定梳理一下自己所学的东西，为大家分享一下。&amp;nbsp;&lt;br>　　经过一年意识到以前也有很多认识误区，比如：&amp;nbsp;&lt;br>　　偏爱收集，经常收集各种资料视频塞满一个个硬盘，然后心满意足的看着容量不行动。&amp;nbsp;&lt;br>　　不重基础，总觉得很多基础东西不需要再看了，其实不懂的地方很多，计算机程序方面任何一个结果都必有原因，不要只会用不知道原理，那是加工厂出来的。现在ide查看代码那么方便，ctrl+点击就进入了JDK查看实现细节。&amp;nbsp;&lt;br>　　好高骛远，在计算机基础不牢固的情况下，总想着要做架构，弄分布式，搞大数据之类。&amp;nbsp;&lt;br>　　不重视性能，只求能实现功能，sql查询是不是可以优化，是否有算法妙用，大对象是否要清除。&amp;nbsp;&lt;br>　　不重视扩展性，模块之间紧密耦合，常用方法不提取成工具类，调用关系混乱等问题。&amp;nbsp;&lt;br>　　……&amp;nbsp;&lt;br>　　本文重点不在这些，故只列举了一小部分，下面进入正题。&lt;/p>&lt;p>&lt;span>2.语法基础&lt;/span>&lt;/p>&lt;p>　2.1 Java类初始化顺序&amp;nbsp;&lt;br>　　这是所有情况的类初始化顺序，如果实际类中没有定义则跳过：父类静态变量——父类静态代码块——子类静态代码块——父类非静态变量——父类非静态代码块——父类构造函数——子类非静态变量——子类非静态代码块——子类构造函数&amp;nbsp;&lt;br>　2.2 值传递和引用传递&amp;nbsp;&lt;br>　　可能很多人对此不屑一顾，心想老子都工作一年了，对这些还不熟悉吗？但实际情况并非这样，JDK中东西全部熟悉了吗？以一个最简单的例子开始，你觉得下图中代码执行完之后fatherList中的元素是什么？&amp;nbsp;&lt;br>&lt;/p>&lt;p>&lt;img class="" data-ratio="0.2854077253218884" data-src="https://pangyd.com/uploads/2017/11/74c10f869f038762.jpg" data-type="png" data-w="932" title="" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E" data-fail="0">&lt;br>&lt;/p>&lt;p>　　这是一个最基础的值传递和引用传递的例子，你觉得好简单，已经想跃跃欲试的挑战了，那么请看下面的，StringBuffer很好理解，但是当你执行一遍之后发现是不是和预想中的输出不一样呢？String不是引用类型吗，怎么会这样呢？如果你无法理解，那么请看下String的实现源码，了解下其在内存中分配的实现原理。&amp;nbsp;&lt;br>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>　2.3 集合的使用&amp;nbsp;&lt;br>　　这部分几乎每个人都会用到，而且大家还都不陌生。下图来源于互联网，供大家复习一下。但是利用集合的特性进行巧妙的组合运用能解决优化很多复杂问题。Set不可重复性，List的顺序性，Map的键值对，SortSet/SortMap的有序性，我在工作中有很多复杂的业务都巧妙的使用了这些，涉及到公司保密信息，我就不贴出代码了。工作越久越发现这些和越巧妙。&amp;nbsp;&lt;br>　&lt;/p>&lt;p>&lt;img class="" data-ratio="0.9415094339622642" data-src="https://pangyd.com/uploads/2017/11/74c10f869f038762.jpg" data-type="jpeg" data-w="530" title="" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E" data-fail="0">&lt;br>&lt;/p>&lt;p>　2.3 异常处理&amp;nbsp;&lt;br>　　1.看着try、catch、finally非常容易，如果和事务传播结合在一起，就会变得极其复杂。&amp;nbsp;&lt;br>　　2.finally不一定必须执行，return在catch/finally中处理情况（建议亲自操刀试一下）。&amp;nbsp;&lt;br>　　3.catch中可以继续抛自定义异常（并把异常一步步传递到控制层，利用切面抓取封装异常，返回给调用者）。&amp;nbsp;&lt;br>　2.4 面向对象思想&amp;nbsp;&lt;br>　　一提起面向对象，大家都知道抽象、封装、继承、和多态。但是实际工作经验中又知道多少呢，对于项目中如何巧用估计更不要提了。&amp;nbsp;&lt;br>　　共性的机会每个都需要用的建立基类，如每个控制层方法可能要通过security获取一个登录用户id，用于根据不同的用户操作不同的数据，可以抽象出一个应用层基类，实现获取id的protect方法。同理DAO层可以利用泛型提取出一个包含增删改查的基类。&amp;nbsp;&lt;br>　　多态的Override：基类的引用变量不仅可以指向基类的实例对象，也可以指向其子类的实例对象，如果指向子类的实例对象，其调用的方法应该是正在运行的那个对象的方法。在策略模式中使用很普遍。&amp;nbsp;&lt;br>　　提到面向对象，就不可避免的要说设计模式，在工作中，一个技术大牛写的一个类似策略模式（更复杂一点），十分巧妙的解决了各种业务同一个方法，并且实现了订单、工单、业务的解耦，看得我是非常佩服。我想很多面试中都会问道单例模式吧，还没有理解的建议去看一看。&lt;/p>&lt;p>&lt;span>3.多线程&lt;/span>&lt;/p>&lt;p>　3.1 线程安全&amp;nbsp;&lt;br>　　这个是老生常谈的问题了，但是确实是问题和bug高发区。线程同步问题不需要单独写了，想必大家都清楚，不太熟悉的建议百度一下。&amp;nbsp;&lt;br>　3.1.1 线程安全问题&amp;nbsp;&lt;br>　　1.代码中如果有同步操作，共享变量要特别注意（这个一般都能意识到）&amp;nbsp;&lt;br>　　2多个操作能修改数据表中同一条数据的。（这个容易被忽略，业务A可能操作表a，业务B也可以操作表a，业务A、B即使在不同的模块和方法中，也会引起线程安全问题。例如如果一个人访问业务A接口，另一个人访问业务B接口，在web中每个业务请求都是会有单独的一个线程进行处理的，就会出现线程安全问题）。&amp;nbsp;&lt;br>　　3.不安全的类型使用，例如StringBuffer、StringBuild，HashTable、HashMap等。在工作中我就遇到过有人在for循环进行list的remove，虽然编译器不报错，程序可以运行，但是结果却可想而知。&amp;nbsp;&lt;br>　　4.Spring的bean默认是单例的，如果有类变量就要特别小心了（一般情况下是没人在控制层、业务层、DAO层等用类变量的，用的话建议是final类型，例如日志log，gson等）。&amp;nbsp;&lt;br>　　5.多个系统共享数据库情况，这个其实和分布式系统类似&amp;nbsp;&lt;br>　　用户重复提交问题（即使代码中从数据库读取是否存在进行限制不能解决问题）&amp;nbsp;&lt;br>　3.1.2 线程安全解决&amp;nbsp;&lt;br>　　在需要同步的地方采用安全的类型。&amp;nbsp;&lt;br>　　JDK锁机制，lock、tryLock，synchronized，wait、notify、notifyAll等&amp;nbsp;&lt;br>　　Concurrent并发工具包，在处理一些问题上，谁用谁知道。强烈建议查看源码！&amp;nbsp;&lt;br>　　数据表加锁。（除非某个表的访问频率极低，否则不建议使用）&amp;nbsp;&lt;br>　　涉及分布式的，采用中间件技术例如zookeeper等解决。&amp;nbsp;&lt;br>　3.2 异步&amp;nbsp;&lt;br>　　异步使用场景不影响主线程，且响应较慢的业务。例如IO操作，第三方服务（短信验证码、app推送、云存储上传等）。&amp;nbsp;&lt;br>　　如果异步任务很多，就需要使用任务队列了，任务队列可以在代码级别实现，也可以利用redis（优势太明显了）。&amp;nbsp;&lt;br>　3.3 多线程通信&amp;nbsp;&lt;br>　　这方面文章非常多，这里不在详述。&amp;nbsp;&lt;br>　　1.共享变量方式（共享文件、全局变量，信号量机制等）&amp;nbsp;&lt;br>　　2.消息队列方式&amp;nbsp;&lt;br>　　3. 忙等，锁机制&amp;nbsp;&lt;br>　3.4多线程实现&amp;nbsp;&lt;br>　　1.集成Thread类，重写（这里的重写指的是override）run方法，调用start方法执行。&amp;nbsp;&lt;br>　　2.实现Runable接口，实现run方法，以Runable实例创建thread对象。&amp;nbsp;&lt;br>　　3.实现Callable接口，实现call方法，FutureTask包装callable接口，FutureTask对象创建thread对象，常用语异步操作，建议使用匿名内部类，方便阅读和使用。&amp;nbsp;&lt;br>　　额外需要说明的是：&amp;nbsp;&lt;br>　　1.理解thread的join方法；&amp;nbsp;&lt;br>　　2.不要认为volitate是线程安全的（不明白原因的建议去看jvm运行时刻内存分配策略）；&amp;nbsp;&lt;br>　　3.sleep时间片结束后并不保证立马获取cpu。&amp;nbsp;&lt;br>　　4.ThreadLocal能够为每一个线程维护变量副本，常用于在多线程中用空间换时间。&amp;nbsp;&lt;br>&lt;/p></description></item><item><title>看十万程序员总结：优秀的程序员和码农差别在哪？</title><link>https://pangyd.com/post/167/</link><pubDate>Sun, 12 Nov 2017 19:55:45 +0800</pubDate><guid>https://pangyd.com/post/167/</guid><description>&lt;p>程序员的水平必然有高有低，工资更是相差极大，而且有些时候，工作年限少的还会比工作年限多的人工资更高，那么，程序员的水平如何衡量？来看看网友怎么说。&lt;/p>&lt;p>&lt;img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E">&lt;/p>&lt;p>&lt;img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E">&lt;/p>&lt;p>&lt;img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E">&lt;/p>&lt;p>&lt;img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E">&lt;/p>&lt;p>当然，一定会有更加优秀的程序员，可能我们见到的比较少吧。&lt;/p></description></item><item><title>IT程序员被叫“码农”程序员你怎么看？</title><link>https://pangyd.com/post/161-it/</link><pubDate>Wed, 08 Nov 2017 19:29:06 +0800</pubDate><guid>https://pangyd.com/post/161-it/</guid><description>&lt;p style="text-align: start">在几年之前，”码农“还只是行业内大家互相调侃的称谓，感觉现在几乎所有行业的人都喊IT工程师“码农”。“码农”反而成为了官方称呼了。感觉这不是一个好事，影响学生们对这个行业的看法，感觉好学校的学生都不愿意做技术了。技术大拿们该不该号召大家不要再以码农自称了？&lt;/p>&lt;p style="text-align: start">&lt;br>&lt;/p>&lt;p style="text-align: start">预料之内，这个话题引来众多程序员的讨论，下面摘选了10个比较有代（有）表（意）性（思）的回答：&lt;/p>&lt;p style="text-align: center">&lt;img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E" data-size="700|569">&lt;/p>&lt;p style="text-align: justify">&lt;br>&lt;/p>&lt;p style="text-align: justify">&lt;span>程序员一：&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>歧视农名是不对的！&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>程序员二：&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>“码农”比“码畜”好听多了。&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>程序员三：&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>你多给我一倍薪水，叫我孙子都行。&lt;br>&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;br>&lt;/p>&lt;p style="text-align: justify">&lt;span>程序员四：&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>我们好歹还是人，产品和设计已经是狗了。&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;br>&lt;/p>&lt;p style="text-align: justify">&lt;span>程序员五：&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>码农算是好的，硅工是我等打磨芯片的民工的昵称。&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;br>&lt;/p>&lt;p style="text-align: justify">&lt;span>程序员六：&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>一位长者告诉我们“中国有句古话,叫做闷声发大财。”&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>程序员七：&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>这有什么？有些人还巴不得大家都说他是人民公仆呢。&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;br>&lt;/p>&lt;p style="text-align: justify">&lt;span>程序员八：&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>我们公司的美术还管我叫做“打字员”呢，满满的恶意啊&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>程序员九：&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>我们每天研究技术，哪有心思管这些，小屁孩们爱来不来。现在码农工资节节高升，正说明了人还不够。等人太多了，工资就会下跌，到时候我们就知道中国需要多少码农了。&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>程序员十：&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>一年工作经验的java程序员在北京可以拿到8k+以上（保守估计），码农通常智力都不低，少数码农有交际困难，不过多数都没有。这么一群高收入高智力的人群会被人鄙视？别闹了，我们只是自嘲而已，真的有哪个文科生来嘲笑我们，我们绝对会不择手段的在各个方面碾压过去的。trust me&lt;/span>&lt;/p></description></item><item><title>有一个程序员男朋友是怎样的体验？</title><link>https://pangyd.com/post/141/</link><pubDate>Sat, 21 Oct 2017 20:53:09 +0800</pubDate><guid>https://pangyd.com/post/141/</guid><description>&lt;p>高中毕业我们两个人在一起，现在他在上班，我在读研。大学时期他学的是计算机科学技术，毕业后顺利成为了一名程序猿。现在网络上对程序员这个职业议论纷纷。&lt;/p>&lt;p>他现在的工作职位是中级前端工程师，我经常吐槽他名字听上去很高大上，但实际还不是一个程序员。&lt;/p>&lt;p>作为资深的程序员女友，来聊聊有一个程序员男友的体验。&lt;/p>&lt;p>生活日常&lt;/p>&lt;p>程序员不是只会修电脑的生物，他们在生活中有很多技能。男朋友是程序员后基本自己的电脑出问题都不用再担心，电脑清灰、重装系统，他可以承包一切电子产品的障碍维修工作。大学的时候我们寝室所有女生电脑出问题，我都第一时间先给男朋友打电话报修，虽然他一再强调自己不是修理工，但是每次都修的自得其乐。&lt;/p>&lt;p>感觉有一个技术大牛陪在身边，简直无所不能。&lt;/p>&lt;p>男朋友高中理科读上来，毕业后也算是标准的工科男。很多人觉得工科男智商高情商低。因为他们不善于交际，每天都只是和一些数字符号代码打交道。&lt;/p>&lt;p>这一点我深有感触。关于情商方面，他好像永远不懂“浪漫”两个字的含义。在一起这么多年从来没有送过花花草草给我！每逢过节日都需要我提前提醒他“嗯纪念日快到了！生日快到了！情人节快到了！”最近开始送我口红，都是我在网上选好款式和色号直接把链接甩给他。有时候抱怨一点都没有惊喜感，他反倒安慰这才是实在的过日子。&lt;/p>&lt;p>&lt;img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E">&lt;/p>&lt;p>有时候聊天给他抱怨为什么不学着别的男生给自己女朋友制造惊喜，比如送送花啥的。然后他竟然去百度！！百度！！搜索男人为什么要送花给女人。我当时也是被他这个点萌到不行，突然间又觉得他很可爱。&lt;/p>&lt;p>再看下面 ️&lt;/p>&lt;p>&lt;img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E">&lt;/p>&lt;p>连求婚这种事都要提前告诉我的吗！我真的是又爱又恨，能不能有点惊喜了。在我看来这种人生大事肯定男生要好好准备，然后制造一个浪漫的求婚计划，而不是直接告诉我，感觉不接受都不行了，有一种被胁迫扯证的感觉。&lt;/p>&lt;p>很多人说程序员的性格就是闷骚，看着内向不爱说话，实际心里可有货了。虽然我男朋友不太懂浪漫，但是在生活上还是给予了我足够的照顾，有时候细心到惊讶我的程度。&lt;/p>&lt;p>都说恋爱中的女人智商为零。&lt;/p>&lt;p>那我们两个人刚好互补呀，他智商高情商低，我情商高智商低。&lt;/p>&lt;p>在生活中他幽默、可爱，偶尔犯二，和他在一起永远不觉得无聊。&lt;/p>&lt;p>优点爆表&lt;/p>&lt;p>生活中我是一个急性子，而且性格多变。但刚好他超级有耐心。可能是因为工作性质原因，经常听到他说“客户改需求了，客户又改需求了噼里啪啦的，换作我早就不干了。每次看他对待客户都是一副客户虐我千百遍，我待客户如初恋的感觉。&lt;/p>&lt;p>对待善变的客户都如此有耐心，所以在他看来，我善变的性格也属于正常范围了。&lt;/p>&lt;p>责任心也是一大特点，对于自己编程过程中出现的bug，一副不改好不睡觉的态度，所以有时候在电脑面前一坐就是凌晨，下班回家只是换个地方加班。他说没有责任心的程序员写出来的代码都是问题。&lt;/p>&lt;p>他们善于学习，上进。只要有空就会专研技术方面的知识、整理笔记。虽然我男朋友在上班了，但是依然坚持每天看书学英语。有时候在他面前我感觉自己这个研究生特别惭愧，英语还没他好呢。他学习能力也是超强，总是能很快自学成功，果然智商高的生物惹不起。&lt;/p>&lt;p>迷恋电子产品，跟他在一起后我的电子产品更新换代的速度加快了，每次看他吐槽一个产品，过段时间就买回来了（真不知道是啥心态）。以前觉得自己买化妆品挺贵，但是了解他的键盘、电竞椅价格后，好像觉得我这点也不算啥了。&lt;/p>&lt;p>程序员这个职业，都不会太穷。（你们懂的）&lt;/p>&lt;p>他们不会有太多的社交去维系，每天下班就是宅。身边除了男生就是男生，这一点是其他职业比不了的。所以当程序员的女朋友可以放宽心，你不用花精力去窥探男朋友身边的人，毕竟十个程序员，七个单身狗，两个搞基友，只有一个有女朋友！&lt;/p>&lt;p>坚实后盾&lt;/p>&lt;p>对于程序员来说虽然加班是家常便饭，虽然有写不完的代码改不完的bug，但是每次只要我需要他，他就会放下手上的事第一时间出现。&lt;/p>&lt;p>所以不是说所有的程序员都木讷、不体贴，至少我身边这位不是。&lt;/p>&lt;p>他知道我不敢一个人在家呆太晚，所以每次都会尽快回家陪我，他知道我喜欢吃的东西，每次帮我买零食回家样样都是我的最爱，他比我还了解自己。&lt;/p>&lt;p>从不和我吵架，有时候我在气头上他自己就去写代码，过一会我自己气消了就像啥也没发生。&lt;/p>&lt;p>他虽然喜欢玩游戏、看直播，但是只要我不想，就会陪我一起追韩剧，看电影，任我在旁边怒吼好帅好帅啊他就冷冷地冒句：你身边这位才最帅。&lt;/p>&lt;p>生活上学习上有任何困难，第一时间找男朋友，好像没有他解决不了的事情，就像我人生导师一样。&lt;/p>&lt;p>程序员之间的冷幽默也是外人理解不了的，他们之间存在的鄙视链就相对简单了：&lt;/p>&lt;p>女朋友漂亮的程序员——女朋友不漂亮的程序员——有女朋友的程序员——单身程序员。&lt;/p>&lt;p>每次我吐槽他职业的时候他就安慰我说：找程序员做老公就对了，因为他们只会找bug，不会找小三。&lt;/p>&lt;p>有时候被他蠢萌的样子给融化，外人都觉得程序员很闷，其实并不都是这样。他们还是冷幽默、体贴、善解人意、聪明。我觉得现在外行对这个职业误会挺深的，并不是所有程序员都是戴个眼镜，穿着格子衬衫，背着书包，只会修电脑打游戏。&lt;/p>&lt;p>你想要的，都会尽力给你。面包和爱情，他们一样也不少。&lt;/p>&lt;p>我很谢谢我这位呆萌的程序员男朋友，这么多年爱我如初。事业上，生活里我们相互扶持包容，风雨兼程。&lt;/p>&lt;p>其实程序员男朋友也没啥特别的，但是对于我来说他就是独一无二的。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>本文链接:https://buluo.qq.com/p/detail.html?bid=11314&amp;amp;pid=8931774-1508579587&amp;amp;from=share_copylink&lt;/p></description></item><item><title>Java程序员面试时需要注意的几点</title><link>https://pangyd.com/post/138-java/</link><pubDate>Tue, 17 Oct 2017 21:03:12 +0800</pubDate><guid>https://pangyd.com/post/138-java/</guid><description>&lt;p>给自己写一份非常专业的简历&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>如果你想增加自己的入选机会，那最好还是花点钱制作一份专业的简历。相较于你将来可能得到的巨大收获，这真的只是一个小小的投资。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>研究面试公司&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>如果你对自己所要面试的公司了如指掌，甚至对官网上的一些博客或视频能够侃侃而谈，相信一定能更能给面试官留下深刻印象，当然，在这过程中也要注意，意见的发表要把握尺度，自信而不自傲！&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>永远不要撒谎&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>最糟糕的就是在面试的时候撒谎。知之为知之，不知为不知，如果你确实不知道，千万不要自作聪明来编造问题的答案。相反，你应该诚实的说，你不知道或者你并不是百分百的肯定，但是你愿意尝试一下，然后再讲讲自己的想法。讲完后也可以问面试官正确答案是什么，以显示你对此非常感兴趣。&lt;/p>&lt;p>&amp;nbsp;&lt;/p>&lt;p>一般来讲，面试官问的问题大都都是他们知道的问题如果你滥竽充数抱着侥幸心理，一旦被发现，面试官马上会质疑你的人品。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>学会解决算法问题&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>这是每一个开发人员都应该具备的重要技能，而且真要掌握起来也并非那么难。&lt;/p>&lt;p>&amp;nbsp;&lt;/p>&lt;p>在很多面试中，都会有这样的问题，要求你在白板或者电脑上解决软件编程问题，但是许多程序员，即使是那些非常优秀的程序员，都会一下子大脑一片空白，完全理不出思路来。如果你能花时间学会如何解决这种类型的面试问题，那么下次再碰到这种场景，就不会这么紧张了。我们会紧张其实和怯场无关，主要是因为我们不熟悉这些问题，也没有自信能解决这种问题。在这方面建立起自信之后，你就再也不会紧张了。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>活力洋溢地回答问题&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>只用一个字或者一句话，照本宣科平平无奇地回答问题，或许在技术上是正确的，但是你忘了应该借此机会好好展示自己的激情——这才是一个开发人员能带给团队的最大正能量。&lt;/p></description></item><item><title>一张图读懂程序员们的心酸</title><link>https://pangyd.com/post/123/</link><pubDate>Wed, 04 Oct 2017 19:55:38 +0800</pubDate><guid>https://pangyd.com/post/123/</guid><description>&lt;img src="https://pangyd.com/uploads/2017/10/64ba89bfccdfe979.jpg" alt="mmexport1507118095586.jpg"></description></item><item><title>国庆你们加班吗？程序员：看天意</title><link>https://pangyd.com/post/120/</link><pubDate>Sun, 01 Oct 2017 20:32:49 +0800</pubDate><guid>https://pangyd.com/post/120/</guid><description>&lt;p>最近流行这么一张图&lt;/p>&lt;p>&lt;img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E">&lt;/p>&lt;p>你的专业vs别人眼中的你的专业&lt;/p>&lt;p>&lt;img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E">&lt;/p>&lt;p>没有女程序员吗？&lt;/p>&lt;p>&lt;span>有！不过可能是这样的&lt;/span>&lt;/p>&lt;p>&lt;img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E">&lt;/p>&lt;p>&lt;img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E">&lt;/p>&lt;p>为什么都说程序员不是在加班，就是在加班的路上？&lt;/p>&lt;p>&lt;span>因为&lt;/span>&lt;/p>&lt;p>&lt;img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E">&lt;/p>&lt;p>&lt;img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E">&lt;/p>&lt;p>额，这么剑拔弩张吗？&lt;/p>&lt;p>&lt;span>对&lt;/span>&lt;/p>&lt;p>这是为什么呢&lt;/p>&lt;p>&lt;span>因为&lt;/span>&lt;/p>&lt;p>&lt;img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E">&lt;/p>&lt;p>那...那你为什么要做程序员呢？钱多吗？&lt;/p>&lt;p>&lt;span>你觉得多吗？&lt;/span>&lt;/p>&lt;p>&lt;img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E">&lt;/p>&lt;p>你为什么还选择在这里做名程序员呢？&lt;/p>&lt;p>&lt;span>我们坚定信念，致力成为未来互联网 领域里的连接器。&lt;/span>&lt;/p>&lt;p>最后问一句，国庆你们加班吗？&lt;/p>&lt;p>&lt;img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E">&lt;/p>&lt;p>&lt;span>看天意&lt;/span>&lt;/p>&lt;p>&lt;img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E">&lt;/p>&lt;p>&lt;img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E">&lt;/p>&lt;p>&lt;span>请关爱我们的程序员因为他们...&lt;/span>&lt;/p>&lt;p>&lt;img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E">&lt;/p></description></item><item><title>为什么Java程序员薪资一直居高不下？</title><link>https://pangyd.com/post/117-java/</link><pubDate>Thu, 28 Sep 2017 21:05:35 +0800</pubDate><guid>https://pangyd.com/post/117-java/</guid><description>&lt;p>众所周知，目前互联网行业是众多行业中薪资待遇最好的，包括程序员、运营、新媒体和这个行业周边的商务、销售等人员的工资，都是其他行业所不能比拟的。本文就为大家分析一下Java程序员薪资居高不下的原因。&lt;div>&lt;br>&lt;/div>&lt;div>程序员问科比：你为什么这么成功?&lt;/div>&lt;div>&lt;br>&lt;/div>&lt;div>科比：你知道洛杉矶凌晨4点的样子吗?&lt;/div>&lt;div>&lt;br>&lt;/div>&lt;div>程序员：不知道，不过我知道凌晨4点的北京，一般那时候我还没睡，怎么了?&lt;/div>&lt;div>&lt;br>&lt;/div>&lt;div>科比：没，没什么&amp;hellip;&amp;hellip;&lt;/div>&lt;div>&lt;br>&lt;/div>&lt;div>上面的段子说明了程序员加班的程度，有的人看到这一点就明了了。但这不是唯一的原因。&lt;/div>&lt;div>&lt;br>&lt;/div>&lt;div>曾经看过一个等式：热门+门槛高=高工资，那么我们就从门槛开始分析原因。&lt;/div>&lt;div>&lt;br>&lt;/div>&lt;div>1. Java程序员的门槛相对比较高&lt;/div>&lt;div>&lt;br>&lt;/div>&lt;div>首先要计算机技术或是相关专业的大学生，原因有二，一是，Java对从业人员素质有一点要求，计算机相关行业会了解最基本的互联网的相关知识，以及简单的语言基础；二是，从事这一行业，招聘公司对学历有要求，最起码要是专科以上的。&lt;/div>&lt;div>&lt;br>&lt;/div>&lt;div>当然，也不排除有非计算机专业的从事Java行业的人，但是万事开头难，很多人抱着很大的希望去学习，随着遇到的困难越来越多，慢慢的也就放弃了，因此有一部分人都倒在了入门的路上。所以干这一行的人相对其他行业还是少。&lt;/div>&lt;div>&lt;br>&lt;/div>&lt;div>2. Java行业市场需求存在巨大的缺口&lt;/div>&lt;div>&lt;br>&lt;/div>&lt;div>这几年中国在移动互联网这块发展非常迅猛，各种创业公司、小团队如雨后春笋般冒出来，对Java开发的需要变大。但存在人才发展跟不上市场的需求的现状，相对应的给优秀Java人才开出的薪资待遇随之水涨船高。&lt;/div>&lt;div>&lt;br>&lt;/div>&lt;div>3. 程序员的确很辛苦，需要不断学习、进步&lt;/div>&lt;div>&lt;br>&lt;/div>&lt;div>辛苦分劳力和脑力两种，劳力工作不难，每天重复着体力活；但脑力活就不一样了，程序员一辈子都在学习、在挑战，因为这是一个不进步就out的行业。&lt;/div>&lt;div>&lt;br>&lt;/div>&lt;div>随着互联网的发展，很多企业随着业务发展要求服务器程序更稳定，更可靠。如：京东，淘宝等大型人网站均采用Java框架进行开发。银行券商等机构均采用Java作为开发语言。&lt;/div>&lt;div>&lt;br>&lt;/div>&lt;div>对于在职的Java从业人员来讲，不断的努力吸收新的知识，跟上互联网进步的节奏是很重要的。&lt;/div>&lt;/p></description></item><item><title>为什么程序员掌握改变世界的技术，却不能成为改变世界的人？</title><link>https://pangyd.com/post/102/</link><pubDate>Thu, 14 Sep 2017 20:24:17 +0800</pubDate><guid>https://pangyd.com/post/102/</guid><description>&lt;p>在当下的社会，一个高科技产品，必定搭载牛逼的程序才能实现各种功能！就比如我们手机上的APP，都是这些程序员开发出来的。但是问题来了：为什么程序员所掌握的技术那么牛，但是真正成为如马云的IT巨头却很少嗯？&lt;/p>&lt;p>正如我经常听到的程序员的通用别称：码农！就是形容代码搬运工！就如“农民工”，为什么会造房子，但是却造不出能够如“东方明珠”般宏伟的建筑！那么有人会说，造房子是需要用到地皮的，但是程序员写代码做程序是不受任何“客观因素”限制的！为什么他们就没有成功的作品呢？（有，但是少，或者不为人知）&lt;/p>&lt;p>我记得我之前跟一个程序员客户交流过，我问他你之前在大学时有没有帮别人写代码赚外快，他说有，我问他现在还会偶尔接私活赚外快吗？他说不会，为什么？他说：因为在接私活赚外快的时候，客户老是根据自己的喜好随意修改各种前期敲定的设计方案，而且根本听不进去程序员的意见。但是现在在大公司开发产品，公司很少参与设计，只是讲明白功能需求，怎么开发和怎么设计页面都是由自己的团队完成！我就问他：是不是公司这样的方式让你感觉很有成就感和受到了极大的尊重？他说，差不多就是那个意思！&lt;/p>&lt;p>就这个软件工程师反馈的信息来看，其实每个程序员或者每个人都会有这样的想法！每个人都极其需要得到尊重，极其需要自己的价值被提现，但是如果每个人都这样按照自己认为对的方向去努力去操作的话，就会很“自大”！每个技术型人才都会认为自己是专业的，自己的意见是最值得参考的，但是，就是因为有这样的想法，而导致程序员空有改变世界的能力，却连自己都改变不了！&lt;/p>&lt;p>决定一个APP产品的好坏不是看这个app是用了多少代码实现了多少功能，而是要看这个app（软件）实现的各种功能是不是真的满足了用户的诉求，和是不是页面和交换方式和使用体验让客户满意！当这个产品很优秀了以后，还需要完美的推广营销方案，把产品推给广大用户！这同时也说明了一点，会造房子不行，得会造成别人需要的房子！这也就是“产品经理”的作用的重要性！如马云，就是“早期的产品经理”！&lt;/p>&lt;p>程序员常有，而优秀的“产品经理不常有”！&lt;/p>&lt;p>此文没有任何贬低程序员的意思，希望大家不要误会！我尊重每一位在一线默默付出的每一个人，我也是一名基层默默付出的人，我只是感觉每个基层的付出者应该懂得更多！&lt;/p></description></item><item><title>每个程序员半小时内必须解决的5个编程问题</title><link>https://pangyd.com/post/85-5/</link><pubDate>Fri, 01 Sep 2017 20:41:03 +0800</pubDate><guid>https://pangyd.com/post/85-5/</guid><description>&lt;p>&lt;span>每次我发布&lt;/span>&lt;span>软件工程师&lt;/span>&lt;span>的岗位工作要求，各种求职申请就会纷至沓来，接踵而至。但每每让我困惑的是，似乎总有那么几位应聘者完全不明白所谓“编程”的意思。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;img class="" title="5-problems-programmer-1-hour" data-src="https://pangyd.com/uploads/2017/09/74c10f869f038762.jpg" width="720" height="475" data-ratio="0.6597222222222222" data-w="720" data-type="jpeg" src="https://pangyd.com/uploads/2017/09/74c10f869f038762.jpg" data-fail="0" style="text-align: center">&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;strong>&lt;span>当然，他们另有想法。&lt;/span>&lt;/strong>&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>而我认为，如果你应聘的是“Web前端开发”岗位，那么你只懂jQuery也可以胜任，那么，“软件工程师”是不是就意味着会HTML、JavaScript和CSS这些必备技能就行了呢？&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>（我觉得那些聊起XML、JSON、XSLT、SOAP、HTTP、REST、SSL和200多个首字母缩写词来头头是道，但却不会区分整型和浮点型数据类型的家伙很有意思。呵呵）&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;strong>&lt;span>&lt;br>&lt;/span>&lt;/strong>&lt;/span>&lt;/p>&lt;h2>&lt;span>&lt;strong>&lt;span>你真的会写代码吗？&lt;/span>&lt;/strong>&lt;/span>&lt;/h2>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>对于应聘&lt;/span>&lt;span>程序员&lt;/span>&lt;span>的求职人员，我，作为用人单位，首先希望的是你会写代码。我指的是真正的代码：我给你一个问题，你使用任何你觉得舒适的编程语言给出它的解决方案。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;h2>&lt;span>&lt;strong>&lt;span>你真的能做到这一点吗？&lt;/span>&lt;/strong>&lt;/span>&lt;/h2>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>策略：如果你不能在半小时以内解决以下5个问题，那么你首先要做的是重新审视自己。的确，或许你各方面的工作都干的不错，但是我依然觉得你现在还不配“软件工程师（或程序员，计算机科学专家，甚至是“开发人员”）”这个头衔。不要自欺欺人，先花点时间来调整你的重点吧。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;h2>&lt;span>&lt;strong>&lt;span>5个问题&lt;/span>&lt;/strong>&lt;/span>&lt;/h2>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;strong>&lt;span>问题1&lt;/span>&lt;/strong>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>使用for循环、while循环和递归写出3个函数来计算给定数列的总和。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;strong>&lt;span>问题2&lt;/span>&lt;/strong>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>编写一个交错合并列表元素的函数。例如：给定的两个列表为[a，B，C]和[1，2，3]，函数返回[a，1，B，2，C，3]。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;strong>&lt;span>问题3&lt;/span>&lt;/strong>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>编写一个计算前100位斐波那契数的函数。根据定义，斐波那契序列的前两位数字是0和1，随后的每个数字是前两个数字的和。例如，前10位斐波那契数为：0，1，1，2，3，5，8，13，21，34。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;strong>&lt;span>问题4&lt;/span>&lt;/strong>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>编写一个能将给定非负整数列表中的数字排列成最大数字的函数。例如，给定[50，2，1,9]，最大数字为95021。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>Ps：&lt;/span>&lt;span>点击这里&lt;/span>&lt;span>，阅读我的解决方案。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;strong>&lt;span>问题5&lt;/span>&lt;/strong>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>编写一个在1，2，…，9（顺序不能变）数字之间插入+或-或什么都不插入，使得计算结果总是100的程序，并输出所有的可能性。例如：1 + 2 + 34 – 5 + 67 – 8 + 9 = 100。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>如果你能力超群，上面这些问题对你而言只是小菜一碟，0.5小时之内解决完全绰绰有余的话，请将我的慷慨陈词当作是在放屁。&lt;/span>&lt;/p>&lt;ul class="list-paddingleft-2">&lt;li>&lt;p>&lt;span>来自：码农网&lt;/span>&lt;/p>&lt;/li>&lt;li>&lt;p>&lt;span>链接：www.codeceo.com/article/5-problems-programmer-1-hour.html&lt;/span>&lt;/p>&lt;/li>&lt;li>&lt;p>&lt;span>英文原文：https://blog.svpino.com/2015/05/07/five-programming-problems-every-software-engineer-should-be-able-to-solve-in-less-than-1-hour&lt;/span>&lt;/p>&lt;/li>&lt;li>&lt;p>&lt;span>翻译作者：码农网 – 小峰&lt;/span>&lt;/p>&lt;/li>&lt;/ul></description></item><item><title>程序员之间的十八层鄙视网络</title><link>https://pangyd.com/post/27/</link><pubDate>Tue, 01 Aug 2017 20:59:15 +0800</pubDate><guid>https://pangyd.com/post/27/</guid><description>&lt;p>&lt;span>有人的地方就有江湖。程序员，是一个知识、智商、都异于常规行业的群体。自傲，清高，闷骚，也属于这个群体鲜明标签。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>程序员有时候很自我，这样就给自己一个盲目的优越感。特别在与其他程序员对比的时候，他总能找到在一两个地方优于你的地方，所以，程序员之间的鄙视网络，在程序员这个职位诞生之日起，就慢慢的形成了。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>时至今日，这张鄙视网络已经相当的庞大。互联网的江湖中，有好事者开始归纳这张网，现在我们就来看看这张日益巨大的鄙视网。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;img class="" data-height="336" data-ratio="0.56" data-src="https://pangyd.com/uploads/2017/08/74c10f869f038762.jpg" data-type="jpeg" data-w="600" data-width="600" title="图0：程序员之间的十八层鄙视网络" width="auto" _width="auto" src="https://pangyd.com/uploads/2017/08/74c10f869f038762.jpg" data-fail="0">&lt;/p>&lt;p>&lt;img class="" data-height="337" data-ratio="0.5616666666666666" data-src="https://pangyd.com/uploads/2017/08/74c10f869f038762.jpg" data-type="jpeg" data-w="600" data-width="600" title="图1：程序员之间的十八层鄙视网络" width="auto" _width="auto" src="https://pangyd.com/uploads/2017/08/74c10f869f038762.jpg" data-fail="0">&lt;/p>&lt;p>&lt;img class="img_loading" data-height="338" data-ratio="0.5633333333333334" data-src="https://pangyd.com/uploads/2017/08/74c10f869f038762.jpg" data-type="jpeg" data-w="600" data-width="600" title="图2：程序员之间的十八层鄙视网络" width="auto" _width="auto" src="https://pangyd.com/uploads/2017/08/44d5041f007d30a9.png">&lt;/p>&lt;p>&lt;img class="img_loading" data-height="337" data-ratio="0.5616666666666666" data-src="https://pangyd.com/uploads/2017/08/74c10f869f038762.jpg" data-type="jpeg" data-w="600" data-width="600" title="图3：程序员之间的十八层鄙视网络" width="auto" _width="auto" src="https://pangyd.com/uploads/2017/08/44d5041f007d30a9.png">&lt;/p>&lt;p>&lt;img class="img_loading" data-ratio="0.45666666666666667" data-s="300,640" data-src="https://pangyd.com/uploads/2017/08/74c10f869f038762.jpg" data-type="jpeg" data-w="600" width="auto" _width="auto" src="https://pangyd.com/uploads/2017/08/44d5041f007d30a9.png">&lt;/p>&lt;p>&lt;img class="img_loading" data-height="353" data-ratio="0.5883333333333334" data-src="https://pangyd.com/uploads/2017/08/74c10f869f038762.jpg" data-type="jpeg" data-w="600" data-width="600" title="图5：程序员之间的十八层鄙视网络" width="auto" _width="auto" src="https://pangyd.com/uploads/2017/08/44d5041f007d30a9.png">&lt;/p>&lt;p>&lt;img class="img_loading" data-height="665" data-ratio="1.1083333333333334" data-src="https://pangyd.com/uploads/2017/08/74c10f869f038762.jpg" data-type="jpeg" data-w="600" data-width="600" title="图6：程序员之间的十八层鄙视网络" width="auto" _width="auto" src="https://pangyd.com/uploads/2017/08/44d5041f007d30a9.png">&lt;/p>&lt;p>&lt;img class="" data-height="692" data-ratio="1.2673992673992673" data-src="https://pangyd.com/uploads/2017/08/74c10f869f038762.jpg" data-type="jpeg" data-w="546" data-width="546" title="图7：程序员之间的十八层鄙视网络" width="auto" _width="auto" src="https://pangyd.com/uploads/2017/08/74c10f869f038762.jpg" data-fail="0">&lt;/p></description></item></channel></rss>