看着手中的毕业证,才发现转眼二年过去了,却仿佛昨日还是新生报到那会。

作为18应届毕业生已经工作实习一年了,相信这也是大部分同届生的现状。

那么,一个萌新在进入职场的这一年都经历了什么呢?在校那会我是挺好奇的。

所以想把过去一年的工作现状写出来,算是一份总结,希望一年后,回过来看这篇文章,希望自己变得更加优秀。

其实一直想写一篇一年的工作总结,也希望自己坚持每年都会写一个总结,立个 Flag 明年补充。

这篇文章利用闲余时间断断续续的写了两三周的样子,适合人群:在校或者即将进入职场实习的大专生。

二、阅读步骤
我把这篇文章分为如下几个部分:

技能
认知
总结

三、技能

3.1、java 基础语法

基础语法,这往往是我们找实习工作的一份凭证,如下整理一部分经常会用到的。

1、public、private、protected、friendly 区别。
2、Collection 和 Collections 区别。
3、Collection 框架中实现比较方法、排序。
4、Overriding 和 Overloading 区别。
5、abstract class 和 interface 的区别。
6、是否可以继承 String 类。
7、final、finally、finalize区别
8、String 是最基本的数据类型吗、基本数据类型有哪些。
9、String 和 Stringbuffer 的区别。
10、string 字符串常用方法,字符串转化为整型数方法,整型数转化为字符串方法
11、switch 是否作用在 byte、long、string上。

12、说出一些常用的 集合类和方法
13、Set 里面的元素不能重复,用什么方法区分重复与否。
14、ArrayList 和 Vector 区别,HashMap 和 Hashtable 区别。
15、List 和 Set 是否继承自 Collection 接口。
16、说出 ArrayList、Vector、Linkedlist 的存储性能和特性。
17、ArrayList 和 Vector 区别,HashMap 和 Hashtable 区别。
18、try{}里有一个return语句,紧跟在try后的finally里的code会不会被执行,什么时候执行,return前执行还是return后执行。

19、error 和 Exception 区别。
20、运行时异常和一般异常的区别
21、给出一个常见的runtime exception。
22、Java中的异常处理机制的简单原理和应用
23、Java语言如何进行异常处理,throws,throw,try catch finally代表什么意义,try块中可以抛出异常吗

24、两个对象值相同,x.equal(y)==true,但是却可有不同的hashcode,这句话对不对,equal == 区别。
25、值传递和引用传递

26、面向对象的特征
27、是否可以从一个 static 方法内部发生对非 static 方法调用。
28、静态变量和实例变量以及静态代码块的区别、创建顺序。
29、Java中会存在内存泄漏吗,请简单描述。
30、描述一下 JVM 加载 Class 文件的原理和机制
31、排序的几种方法,了解。
32、什么是 Java 序列化,如何实现 java 序列化。
33、Java中如何跳出多重嵌套循环
34、Java中实现线程的方法,用关键字修饰同步方法。
35、同步和异步区别。
36、线程同步的方法。
3.2、Web 基础
1、了解 Servlet、Interceptor、Listener、Filter
2、Http 请求,常用的 Get、Post 请求区别, 以及请求头、状态码概念。
3、Cookie 、Session
5、javaScript 基础语法,以及 jquery 简化后的语法
6、Ajax 请求,跨域顺便了解一下
其实上边这两个部分,一点都不想写进来,因为这本该是在校掌握的东西。

3.3、版本控制

1、git、svn
2、代码冲突解决方案
3、分制管理
团队版本控制这块还是很重要的,从身边同学也有了解到,大部分公司选择 SVN 管理工具,所以很有必要补充 SVN 使用的知识,平时可以锻炼自己,使用 SVN 或者 Git 来提交代码, 我平时的话,两个都有在用,通常自己的项目都是放在《码云》上边。

既然提到版本控制,代码冲突解决真的尤为重要,如果你不是独立负责开发一个模块,那么很难避免的就是“代码冲突”,所以开发中,提交代码之前一定要去对比“资源库最新代码”,确保没有冲突再去更新,或者提交代码。

补充一个工具,Beyond Compare ,代码对比工具,相信我你会用到的。

3.4、spring 核心

之所以单独拿出来,因为他足够强大,企业轻量级开发框架。

1、Spring-IOC:控制反转,分开解释。
– 控制:强调对象是由容器控制的,控制了对外部资源的获取。
– 反转:以前都是我们自己创建对象依赖对象,反转就是由容器帮我们创建并注入依赖对象。

2、Spring-AOP:面向切面编程,这个所谓的切片:aop 将封装的对象切开,然后找出其中对多个模块产生公共影响的部分,封装成一个可以复用的模块,这个模块称为切面,切面把那些与业务逻辑无关,却被业务模块共同调用的逻辑进行抽取封装,减少系统代码的重复度。

AOP 的解释有点官方,个人理解,使用 aop 技术,你可以对目标对象的方法进行增强处理,比如 a()方法,就是打印一个 syso(“你好呀”),但是呢,如果采用 aop切面技术给与加强,你可以在这个a()方法之前之后都可以进行监听,比如打印 syso(“你好呀”) 之前打印一个"niceyoo",a方法之后打印一个 “2018”

如果你一点都不清楚 Spring 核心,建议搜索了解一下。

3.5、Spring 其他技术

Spring事务:事务的出现是为了确保数据的完整性和一致性,一句话概括:一次提交,要么全部成功,要么失败什么都不做。
参考地址:https://www.cnblogs.com/niceyoo/p/8729525.html

SpringMvc:简单明了的 MVC 框架。

SpringTask:代码级定时任务,注解方式,可以将它比作一个轻量级的Quartz,使用起来非常方便,只需完成 Scheduled 表达式。

SpringSecurity:用户权限管理,根据角色和用户,实现 UserDetailsService,进行自定义权限管理。既然说到权限管理,不得不提的就是
Shiro,实际开发中,Shiro 使用相对更容易一点,至于两者的区别,建议搜索了解一下。

SpringBoot:可以理解成 Spring 升级版,简化了 maven 配置,自动配置 Spring,无须手动配置 Spring ,无须各种烦人的 xml 配置。
其实说到 SpringBoot 真的要画个重点了,特别流行,现在特别火的 SpringCloud 就是基于 SpringBoot 的,后面我也会多的写一些关于 SpringBoot 文章。

3.6、开源框架(Hibernate 、Mybatis)

这两个框架网上一堆的介绍,相信你也不陌生,所以不说什么大道理,根据我实际开发使用情况,做简要概述。

共性:两者都是用来操作 Dao 层的,通俗一点就是用来操作数据库的。
区别:Hibernate 不用手写 sql 语句,内部封装了大量常用方法,同样提供 HQL、QBC 支持 sql 编写, 而 Mybatis 全部需要手动书写 sql 语句;Hibernater 支持自动建表,只需要在实体 Bean 上加入注解,即可实现数据库表的创建,而 Mybatis 需要你自己在 mapper 中一一对应;Hibernate 配合 Spring Data JPA 或者 Spring template 也可实现 sql 语句的编写。
总结:Mybatis 使用起来相对比较灵活一点,而 Hibernate 使用比较方便。

3.7、服务器

Linux操作系统,以 centos 为例:

常用简单命令:ssh、vim、ps、gerp、、tail,df、top,shell、chmod、sh、tar、find、wc、ln、|
目录结构明细:/etc/、~/、/usr/、/dev/、/home/、/etc/init.d/
服务端:jdk、tomcat、nginx、mysql、redis、neo4j启动与配置
nginx:负载均衡、反向代理、配置
java 环境配置;

实际工作中,最可能碰到的就是项目的部署,至于环境的搭建基本会由运维搭建,所以最常用的命令无非是 tomcat 里 start.sh shutdown.sh 脚本的执行,kill - xx 杀掉没有被停止掉的进程,catalina 日志输出等等。

一点建议:

我会建议你去买一台centos云服务器折腾折腾,这样真的很锻炼人,虽然你也可以在本地搭虚拟机。
其实我在大一的时候就有购买自己的服务器,域名等,我会觉得这很有意思,直到现在手里还维持3台服务器以上,配置的话因条件而异,备案域名2个。
至于服务器有什么用,比如部署自己练手的项目,搭 ssr,做个网站,赚点广告费…

3.8、数据库

开发中最常用的数据库:Oracle、MySQL、Redis(非关系型数据库)

Oracle\MySQL 平时自己使用的话, MySQL 使用会比较多,毕竟轻量级,至于两者的区别,实际开发真没多少差距,至少一年实习经验的我是这么看的。毕竟现在还停留在“增删改查”阶段。

Redis 非关系型数据库,这又是个重点,应用场景特别多,经常被作为缓存来使用,如面对数据高并发的读写、海量数据的读写等等。

3.9、第三方接口

一年的工作中或多或少的总会接触到一些第三方的接口:

支付接口:很多公司都会有商城项目,支付宝以及微信支付流程了解一下,详细资料可以参考官方文档,现在官方已经说得很简单了,像是统一下单,对接已经很方便。

七牛云存储:这个是自己私下做的项目,涉及到七牛云的文件存储、大文件上传等,公司一般存储都会用自己服务器,所以大文件上传,推荐 webuploader 分片上传了解一下。

微信公众号开发:这一年在公司独立做了两个微信公众号的小项目,刚接手的时候,也会有懵逼状态,多看官方文档就好了。

短信接口:这种算很简单的第三方接口,引入依赖,直接调用即可。但需要在第三方后台设置模板等,注意在前后台限定用户请求次数。

其他接口:邮件发送等。

3.10、电脑部分工具
开发工具:Eclipse、IntelliJ IDEA 、WebStorm
数据库工具: PL/SQL、SQLyog、Navicat
版本控制:SVN、Git
代码对比:Beyond Compare
脚本工具:xShell、Putty
FTP 工具:xftpportable
FQ工具:SSTap-beta、蓝灯
远程工具:VNC viewer
虚拟机:vmware
笔记工具:Evernote
记事本:NotePad++
浏览器:谷歌、火狐
其他:有道翻译、Hjson

四、认知

在帅张的影响下我更新了一个观念,人与人之间最大的差距,其实本质上是认知的差距。

傅盛说过这么一句话:所谓成长,并不来自于所谓的位高权重,不来自于所谓的财富积累,也不来自于你掌握的某一个单项技能。所谓成长,就是认知升级。

举一个例子—富人跟穷人的逻辑思维:

穷人花 10 块,总奢望得到 100 块的价值,不然的话就觉得亏了,而富人花 1w 块,如果能得到 1000 块的价值,他们就觉得这钱没白花,但是即便如此,富人可以轻易获取 1000 块的资源,而穷人即便费劲九牛二虎之力得到 100 块的资源也差距很大。

再比如我花了 1k 买一些付费知识,就必须追求 1k 的价值么?这就大错特错了,我花了 1k,我能得到 1块 的价值,我就觉得是值得,这就跟很多富人,花几十万让小孩报一个班一样,他们奢望小孩一定要在那个班上学到几十万的价值么?不一定,他们要的是小孩能比别人学得多一点,那就是值得了,这就是富人思维。

可是认知,跟这个穷人富人逻辑思维有个毛关系呢?

五、总结

结合上文+现阶段的工作经验做一个总结。

基础知识:参加工作后,发现基础知识如果很薄弱的话,真的要下功夫了,在实际开发中,用到最多的其实还是那些基础知识,如果你觉得自己在学校并没有掌握牢固的话,黑马的基础视频很有必要再看一遍,反正我是又看了一遍,25天的基础课程一周的时间就可以刷完。

代码规范:代码按照规范写尤为重要,一定要养成代码"洁癖",驼峰命名、尽量多的采用英文单词命名,该空行的空行,该缩进的缩进,该回车的一定要回车。代码并不是你以为的写完就完事了,如果写的很烂,别说别人,n 段时间后,回头看看自己都不知道写的什么玩意。

投资自己:一定要舍得给自己花钱啊,腾讯不就一直在给你灌输这个概念吗,只要充钱就能变强,放在咱自己身上,充钱能解决效率。
一定要有选择性的、理性的投资自己、投资知识,你的认知,真的决定你今后的高度,花钱培训也算是一次投资。

学会搜索:不要一有问题就问别人,真的尝试解决过吗?我一直调侃百度不如谷歌,但大部分问题往往百度就能解决,搜不到?自己真的会搜索吗?

学会独立:有人会认为实习,就应该有人带自己,在校那会我也是这样,以为进了公司有个大佬手把手教自己,一有了问题就问;事是这么个事,但是你一定要认识到这个“带”,不是“手把手”,终究还是要靠自己,解决不了的问题,自己尝试实在解决不了再去问,一方面自己印象深刻,另一方面,不浪费别人的时间,如果你私下不努力,并不会有人手把手喂你饭吃。

其他技能:我觉得拥有一点其他技能还是很有必要的,这会使你更有优势,比如我自己会 Android 开发,能独立开发简单的 APP ,有上架应用商店经验,这带给我的优势就是筹码。

时刻学习:一定要保持时刻学习,不要觉得自己公司用不到就不用学了,你能保证你在这家公司一辈子?springboot、springcloud、Flutter、Vue、Angular.js、Echarts、Redis、Lucene、Shiro 、Elasticsearch、Ngix、Zookeeper、Dubbo、WebService、POI 数据导入导出\ 等等等等

最后我建立了一个学习交流群:目的就是为了一起学习交流Java,毕竟程序员这条道路很漫长,只有相互帮衬才能走得舒心:Q裙:947405150

写给自己的总结(程序员励志)相关推荐

  1. 北京尚学堂|程序员励志名言

    2019独角兽企业重金招聘Python工程师标准>>> 版权声明:本文为北京尚学堂原创文章,未经允许不得转载. 北京尚学堂科技有限公司 编者的话:作为一个真正的程序员,首先应该尊重 ...

  2. 学计算机励志名言,程序员励志格言

    简介<程序员励志格言>精选: 程序员励志格言 1.在seso 的blog上看到的,粘贴过来,鼓励自己~ 2.曾经的理想是做个程 程序员励志格言 1.在seso 的blog上看到的,粘贴过来 ...

  3. AI可以写软件了,所以程序员要下岗?

    文章讲的是AI可以写软件了,所以程序员要下岗,早在1990年,便有人提出创建会学习的软件的想法,很多电影中也有机器人自我进化,最后妄想统治世界的剧情,自从AlphaGo打败李世石之后,人工智能,深度学 ...

  4. 程序员励志视频_5个最适合程序员的励志视频

    程序员励志视频 Programming is a process by which we instruct the computer to do some task. In present digit ...

  5. 写给那些想做程序员和不想做程序员的人

    <写给那些想做程序员和不想做程序员的人> 首先说一说进入计算机专业的目的,我个人是因为十分喜欢IT业,很喜欢折腾电脑,所以在填报志愿是毫不犹豫的在报了的所有的学校都填写的计算机专业,梦想着 ...

  6. chatGPT写的一篇java程序员职业规划

    最近几年,我有很多学生在学习 java技术,其实在学 java的过程中,我们都会遇到职业规划的问题.我有一位学生问了我一个很有趣的问题,他问:"我不知道自己适合什么岗位?我还没有想好以后是做 ...

  7. 数学公式太晦涩,不如用代码写出来:这是程序员学数学的独特方式

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 来源:机器之心 简洁的代码不仅能运行程序,还能用来学数学. ∑.∏.∈--如果你学习过 ...

  8. 写给新入行程序员的10条建议

    1. 想清楚,再动手写代码 刚入行的新手,为了展示自己的能力,拿到需求迫不及待地就开始上手写代码,大忌! 2. 不交流,就会头破血流 不爱说话和沟通,需求都理解错误了,最后做出来才发现,只能加班返工. ...

  9. 收集53个程序员励志名言

    1.要么做第一个,要么做最好的一个. 2.信念和目标,必须永远洋溢在程序员内心. 3.最累的时候,家人是你最好的归宿. 4.C程序员永远不会灭亡.他们只是cast成了void. 5.真正的程序员认为自 ...

  10. 为自己尝试写点东西吧,程序员们!(转)

    2012年秋季,正是大伙急于找实习工作的时候.尝试出去找过很多实习单位,但是基本上都是不靠谱,然后就是我自己能力的不足.所以找工作之路也是异常艰辛和曲折. 学了那么久的Java,做过那么多的小练习,但 ...

最新文章

  1. jvm性能调优 - 12Stop The Word 问题分析
  2. 刚接触电子时,有过哪些百思不得其解的问题?
  3. Android之使用MediaMetadataRetriever类获取视频第一帧
  4. crontab使用环境变量
  5. goeasy小demo
  6. 一个php网站加入背景音乐,html页面中如何添加背景音乐
  7. 【持续更新】一些常用的网站分享(智能教育装备、智能机器人行业)
  8. 2021-02-07 USR-WIFI232-B2 串口转WIFI模块
  9. 将Spring Boot Web应用部署到Tomcat服务器
  10. Rockchip | 启动引导的各个阶段及其对应固件
  11. 学习笔记-应用光学 典型光学系统
  12. STM32解析航模遥控器的PPM信号
  13. 怎么在CAD三维图面上添加一长段说明文字?
  14. 阿里云国际版账号如何申请
  15. DNS工作原理及其过程
  16. 【0034】 PostgreSQL报错信息:The server must be started by the user that owns the data directory.
  17. ubutnu18+cuda11.1+cudnn8.0.4+nvidia-driver-465
  18. 使用IJ写scala的两种方式
  19. 怎样在几何画板中查看课件制作过程
  20. mysql lucene 结合_Lucene基础(四)-- 结合数据库使用

热门文章

  1. HTML Layui Distpicker 住址/收货地址选择 联动选择框
  2. 360浏览器极速模式pdf文件不能预览问题
  3. 计算机视觉教程章毓晋课后答案6,计算机视觉教程 教学课件 章毓晋 CCV01.pdf
  4. 选项卡切换 内容也跟着变 微信小程序
  5. 容器云系列之Docker容器监控cAdvisor
  6. Web前端常用IDE快捷键记忆(WebSorm、VSCode)
  7. html多选框写法,HTML多选框
  8. 视频教程-Go语言区块链开发入门视频教程-区块链
  9. 【微信小程序|组件库】一款清新且简洁的卡片样式
  10. linux系统刷苹果4s,iOS8.4降级6.1.3教程 iPhone4s降级iOS6.1.3