程序员

程序员小伙三年月薪30K,他是怎么做到的?

半世苍凉 提交于 2019-11-27 05:12:21
欢迎关注微信公众号:慕容千语的架构笔记。欢迎关注一起进步。 目前一线城市的薪资水平在13到40k之间,但是找工作的时候并不仅仅有工作经验就行了,还需要一定的专业知识。如果你野心更大,想要进阿里美团头条等等这些大厂的话,那就需要更多的专业知识。那么,一个三年工作经验的Java程序员应该要具备哪些知识呢? 我整理了之后发现,程序员需要懂好多的知识。 一、项目经验 项目经验是程序员们最重要的财富,也是面试中必问的问题。一般面试官都会借着项目经验来考查应聘者的沟通能力和思考能力。三年工作经验的程序员一般都会有两个以上的项目经验,但实际我们大部分的情况都是做产品的一个功能或一个模块。虽然我们能很好的完成工作上的要求,但是对于面试这肯定是不够的。对于面试来说,我们还要完成以下四点。 知道你的项目到底是做什么的,有哪些功能。 知道你做的项目在整个项目中所处的位置及作用,并能清晰地阐述模块间的调用关系。 知道你项目的整体架构和使用到的中间件,并对中间件的原理有一定的了解。 能流畅地阐述自己在项目中解决过的比较复杂的问题。 二、Java的基础知识 技术知识这块面试还是蛮常见的。不过大多问的比较简单。这是我罗列的一些我曾被问到的问题,大家私下参考一下。 栈和队列的区别 接口和抽象类的区别 Int和Integer的区别和自动拆箱/装箱的相关问题 常量池相关问题 三、集合框架 集合框架的底层原理

jsp和servlet的区别

喜欢而已 提交于 2019-11-27 04:46:27
 servlet是服务器端的程序,动态生成html页面发到客户端,但是这样   程序里有许多out.println(),java和html语言混在一起很乱。所以   后来推出了jsp。其实jsp就是servlet,每一个jsp在第一次运行时被   转换成servlet文件,再编译成.class来运行。   有了jsp,因此在MVC模式中servlet不再负责生成html页面,转而担任   控制程序逻辑的作用,控制jsp和javabean之间的流转。      Servlet与Jsp的区别    * Servlet中没有内置对象,原来Jsp中的内置对象都是必须通过HttpServletRequest对象,或由    HttpServletResponse对象生成。    * 对于静态的HTML标签,Servlet都必须使用页面输出流诼行输出。    总之,Jsp是Servlet的一种简化,使用Jsp只需要完成程序员需要输出到客户端的内容,至于Jsp中的    Java脚本如何镶嵌到一个类中,由Jsp容器完成。而Servlet则是个完整的Java类,这个类的Service    方法用于生成对客户端的响应。      jsp和servlet的实质是一样的,jsp最终还是编译成servlet      一、jsp最终还是编译成servlet,所以jsp比servlet慢。   二

JAVA必看书籍

荒凉一梦 提交于 2019-11-27 04:29:30
作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从。我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水平的Java程序员们。 一、Java编程入门类 对于没有Java编程经验的程序员要入门,随便读什么入门书籍都一样,这个阶段需要你快速的掌握Java基础语法和基本用法,宗旨就是“囫囵吞枣不求甚解”,先对Java熟悉起来再说。用很短的时间快速过一遍Java语法,连懵带猜多写写代码,要“知其然”。 1、《Java编程思想》 在有了一定的Java编程经验之后,你需要“知其所以然”了。这个时候《Java编程思想》是一本让你知其所以然的好书,它对于基本的面向对象知识有比较清楚的交待,对Java基本语法,基本类库有比较清楚的讲解,可以帮你打一个良好的Java编程基础。这本书的缺点是实在太厚,也比较罗嗦,不适合现代人快节奏学习,因此看这本书要懂得取舍,不是每章每节都值得一看的,挑重点的深入看就可以了。 2、《Agile Java》中文版 这本书是出版社送给我的,我一拿到就束之高阁,放在书柜一页都没有翻过,但是前两天整理书柜的时候,拿出来一翻,竟然发现这绝对是一本好书!这本书一大特点是以单元测试和TDD来贯穿全书的,在教你Java各种重要的基础知识的过程中,潜移默化的影响你的编程思维走向敏捷,走向TDD

Java程序员应了解的10个面向对象设计原则

老子叫甜甜 提交于 2019-11-27 04:26:48
面向对象设计原则是 OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数 Java 程序员 追逐像 Singleton、Decorator、Observer 这样的 设计模式 ,而不重视面向对象的分析和设计。甚至还有经验丰富的 Java 程序员没有听说过 OOPS 和 SOLID设计原则,他们根本不知道设计原则的好处,也不知道如何依照这些原则来进行编程。 众所周知,Java 编程最基本的原则就是要追求高内聚和低耦合的解决方案和代码模块设计。查看 Apache 和 Sun 的开放源代码能帮助你发现其他 Java 设计原则在这些代码中的实际运用。Java Development Kit 则遵循以下模式:BorderFactory 类中的工厂模式、Runtime 类中的单件模式。你可以通过 Joshua Bloch 的 《 Effective Java 》 一书来了解更多信息。我个人偏向的另一种面向对象的设计模式是 Kathy Sierra 的 《 Head First设计模式 》 以及 《 Head First Object Oriented Analysis and Design 》 。 虽然实际案例是学习设计原则或模式的最佳途径,但通过本文的介绍,没有接触过这些原则或还在学习阶段的 Java 程序员也能够了解这

时间和自我管理的重要性

混江龙づ霸主 提交于 2019-11-27 03:49:20
从2016年开始有规律的写博客以来,陆陆续续收到一些读者类似的问题:比如作为技术负责人,你为什么有那么多时间写博客;博主,你是每天都写博客写到很晚吗;可以聊聊你是如何做时间管理的吗?感觉输出的频率很高呀。 既然大家这么好奇,那今天就聊聊吧。 01 平时多积累 先说一个事实,写技术文章真的挺耗时的,有时候写一篇技术文章需要8小时,深度一点的文章需要几天都很正常,但有的时候却只需要几个小时,这是为什么呢? 先抛一个截图,这是我在2017年的时候在博客园给一个读者的回复: 其实上图已经说明一点原因,只要我们平时多积累,写文章的时候就可以节省很多时间。 比如我刚开始写 Spring Boot/Cloud 的时候,是因为我们公司需要大量使用 Spring Boot/Cloud 技术,在我们实践的过程中,我会不时把使用的过程、关键点、思考记录到云笔记中,写文章的时候只需要将这些内容整理出来即可。 所以我一直鼓励写技术博客的朋友,尽量多写对工作有帮助的内容,或者工作中实践的成果,一方面方便我们积累素材,一方面更好的促进了工作。 这样对个人、对公司都有好处,大家可以看我博客中 90% 以上的技术文章都是来自于工作,不然我也没有那么多时间重新研究一个新技术,然后再整理、学习发布出来。 不过前提条件是,公司必须有良好的技术文化,热衷于使用最新的技术解决问题。不过我呆过的两家公司

程序员面试某国企,等了一小时,结果一个问题就被打发掉?

眉间皱痕 提交于 2019-11-27 03:13:01
一名互联网知名企业的程序员去面试某国企,结果却被恶心到了,如下便是这名程序员面试的整个经历。从其描述我们可以得知,在整个面试过程中,等了一个多小时,全程没水喝,然后问会不会vs,答曰不会。HR直言:你不够资格,我们只招优秀的人。 看到这里,懂行的程序员都不禁大笑起来,这是什么HR,牛气冲天,vs只是一个工具,每个企业都有自己的工作方式,如果要用新工具,直接学就是了,没有什么障碍。以这个来判定程序员是否优秀,让人笑掉大牙。如下便是一些网友的评论。 真菜连hr都面不过,红黑还没问;国企的hr都不行,自以为是;多正常啊,一次国企hr约我周一去面试,然后到了以后直接说领导今天没空,改天再约时间;挺好,进去以后你会发现每天都有这样恶心和毁三观的事,提前预警以免入坑;国企的人力资源素质的确堪忧,那就别去了云云。 如果你依然在编程的世界里迷茫,不知道自己的未来规划,可以加入我们的web前端学习交流扣q-u-n:767273102 里面可以与大神一起交流并走出迷茫。小白可进群免费领取学习资料,看看前辈们是如何在编程的世界里傲然前行!不停更新最新的教程和学习方法(进群送web前端系统学习路线,详细的前端项目实战教学视频),有想学习web前端的,或是转行,或是大学生,还有工作中想提升自己能力的,正在学习的小伙伴欢迎加入。 前端技术分享 当然,这名程序员来面试经历只是一个个例,并不代表所有

程序员跳槽到国企,看到收入和工作时间后:给腾讯CEO也不去

匆匆过客 提交于 2019-11-27 03:12:22
不知道大家是否有这样的想法,随着年龄越大越来越焦虑。而想要去国企的人更是有大把,尤其是程序员这个工作,只要能有机会,大多数人甚至会降薪去国企。最主要原因也是因为国企不像互联网那样加班多,能有更多自己的业余时间。 最近在职场论坛上看到这样一个帖子:程序员跳槽到国企,入职后发现一周才上班5个小时,看到收入后:给我腾讯总监也不去!这是怎么回事呢? 原来该程序员在刚毕业的时候是在国企上班,后来为了能够发挥自己的能力,也是为了多赚钱,于是跳槽到了互联网bat一家公司。在工作了几年之后,发现bat这样的工作也不是自己想要的。于是又跳槽到了国企,可这次他真正认识到了国企的好处,不仅工作时间很短,而且有时间去做自己喜欢做的事情,再说了收入也不低,一年能拿20多万。 该程序员还说经常可以请假,而且还没人管自己,并不会扣工资。另外每天上几个小时班就可以了。程序员最后感叹:有了这么好的工作,就是给我腾讯总监的职位,我也不会去了! 对于该程序员所说的事情,笔者认为并不是每个国企都是这样,只能说是极个别情况吧。毕竟不管在哪家公司,公司也是需要盈利,员工不创造价值怎么可能。另外,工作时间也是分部门的,有些部门任务比较少,工作时间当然不长。所以说这个还是要分情况来看。 有网友说你这工资,其实也不高吧。而且可以肯定的是,你在bat的时候,收入要比这个高。虽然上班是轻松了一些,但也失去了很多啊。

什么是堆什么是栈

只谈情不闲聊 提交于 2019-11-27 02:40:33
一 英文名称 堆和栈是C/C++编程中经常遇到的两个基本概念。先看一下它们的英文表示: 堆――heap 栈――stack 二 从数据结构和系统两个层次理解 在具体的C/C++编程框架中,这两个概念并不是并行的。深入到汇编级进行研究就会发现,栈是机器系统提供的数据结构,而堆是由C/C++函数库提供的。这两个概念可以从数据结构和系统两个层次去理解: 1、从数据结构层次理解,栈是一种先进后出的线性表,只要符合先进后出的原则的线性表都是栈。至于采用的存储方式(实现方式)是顺序存储(顺序栈)还是链式存储(链式栈)是没有关系的。堆则是二叉树的一种,有最大堆最小堆,排序算法中有常用的堆排序。 2、从系统层次理解,栈是系统为运行的程序分配的先进后出的存储区域。在学习bootloader时知道,在上电后初始化阶段要为各个工作模式下分配堆 栈,这里的堆栈实际上就是指stack,堆栈的说法只是因为历史的原因。在执行函数时,函数内部局部变量的存储单元可以在栈上创建(针对CISC架构而 言,RISC架构下,局部变量的存储单元是在寄存器上创建),函数执行结束时这些存储单元自动被释放。堆是系统管理的可以被程序利用的全局存储空间,动态 内存分配就是从堆上分配。 具体地说,现在计算机(串行执行机制),都直接在代码层次支持栈这种数据结构。这体现在,有专门的寄存器指向栈所在的地址,有专门的机器指令完成数据入栈

2017编程趋势预测:10大技术大热,10大技术遇冷

末鹿安然 提交于 2019-11-27 01:51:53
在编程世界,流行的是科学,严谨和精确的准则。这不是说编程是一种缺乏趋势的行业。不同的是,由于编程重视的是高效,用户化和使用方便,因此编程技术需要不断更新换代。那么,在即将到来的2017年和未来的几年内,会有哪些新技术出现,成为新的潮流,又有哪些技术的热潮会渐渐消退呢?下面所列出的10种技术,摘自infoworld.com的一位编辑Peter Wayner撰写的文章 21 hot programming trends -- and 21 going cold 。本文旨在与大家一起讨论这个话题。 1. JavaScript MV 框架成为热门,JavaScript文件遇冷 很久以前,我们写JavaScript代码来弹出一个消息窗口或检查表格中含有@符号的电子邮件地址。不过现在有了HTML Ajax应用程序,它们非常精细,因此很少人从零开始写代码了。现在比较简单的方法是:使用一个有详细说明的框架和写一点胶水代码来执行商业逻辑。现在有很多框架,如Kendo, Sencha,jQuery Mobile,AngularJS,Ember, Backbone, Meteor JS等等,所有这些框架都是为了处理Web应用程序以及页面事件和内容而准备的。另外,还有一些为智能手机和平板电脑提供的跨平台框架,其中包括nativescript,PhoneGap和Sencha Touch等