好久都没写blog了,又要到秋招了,作为一个正在学习的大二学生来讲,离自己出去实习找工作的时间也不长了。最近看了些CSDN的技术博客论坛,想就此总结谈谈自己的想法。

从学历谈起作为一个专科生出去面试和其他高校比起来确实差了很多很多,也就只能拼工作经验和腹中的那点墨水,因为很多大公司如果不看学历的话都比较喜欢招两年或者三年工作经验的人,要想提升自己就需要在大学好好表现自己,虽然大学生获得的什么奖项,公司不一定能看重,但是在面试官面前可能还是会产生些微妙的影响。在大学也要学着和别人沟通,一个良好的沟通交流能力可以让你在面试的时候不那么没有什么话说。所以我买了很多书看,不知道有不有作用,总之多看书对自己素养提升应该还是有影响的。还有就是较强的学习能力和逻辑思维能力也要训练,多看看算法,学学高数看看理论相关的知识,从别人的博客中得知,有的面试官看重面试者的学习能力,你有多久的工作经验代表你正处于什么级别,而学习能力代表你将来能达到什么级别。

总结了几点提升自己的能力过程:

  1. 看各大公司的面试题:因为从现在起看面试题可以学习很多很多的基础知识,各大面试官总会问道的问题就是Java Jvm的运行机制 垃圾处理机制等等(下面会专门讲解这些问题)。
  2. 进牛客网做些算法相关的题,经常做,就算每天一道,一年就是365道,至少自己也应该理解了线性查找,排序,递归,贪心算法,数组,链表,队列,这些基本的算法如果说熟悉运用应该还是有一定距离的,毕竟要熟悉这些算法的相关理论,还是要深度研究它底层的东西。
  3. 深入学习:在看面试题或者进入牛客网学习算法的时候,有可能会遇到一些自己没有接触过或者以前没有深入学习过的知识,例如HashMap内部实现与原理,这就需要去看源码了,其实看源码是很重要的一步,起步虽然很难,但是会让你受益良多。
  4. 熟系项目:在自己做过的项目中,肯定有自己没有好好优化的功能,后台写的可能也不怎么好,这个时候就需要自己去优化了,需要的是把一个功能吃透,这里可以看看“最代码”,“码云“这些网站,去看看别人的项目是怎么写的,就因为这些我就已经开始接触过Struts2,Maven,这些架构。
  5. 看书学习运用:我正在看得书有Java编程思想,算法,高等数学;还有进csdn看看别人写的博客,慕课网看看帖子等等。其实还有很多微信公众号是关于编程的。
  6. 看砍关于职业上相关的礼仪,职业上的事情,互联网发生的事。推荐第一财经周刊,36氪这些,可以多看看学习。
  7. 学习记录笔记:把自己每天的学习时间和学习内容记录下来,可以让自己更有动力学习,如果哪天自己的笔记本上没有在更新了,自己的良心肯定也会过不去吧。学习是一个枯燥的过程,必须让自己时刻保持有动力。

最近看到一篇《2017年一线城市程序员工资大调动》https://blog.csdn.net/tTU1EvLDeLFq5btqiK/article/details/78929087

中国一线程序员的平均工资为11770元,受到教育水平对工资有着显著的影响,工资随着工作经验的增长而增长,工资的地域分布也不均匀等等,虽然我们专科生经常听到其实自己经验丰富就足够了,自己能力够就行了,但是如果真把这些话当成自己为自己找的理由的话,就真的错了,要的是提升自己,让别人输的心服口服,我觉得在校读书的时候还是不要把自己是个专科生放下撇在一边,我说的不是精神上的,是在与别人比较素养,记忆力,学习能力的时候。虽然有些本科生确实还没有专科生好,但那也仅仅是有些。如果非要说比较的话专科的好学生比例是3:7;本科就是7:3;所以我们需要的是提升自己,真正的强大才是真的强大。其实真正的藐视不是大吵一架你吵赢了,而是沉默。

近期看博客面试题的总结和自己百度学习的作答

列举常问问题:

  1. 集合相关问题:

HashMap和Hashtable的区别:

答:1.从作者上就有不同,HashMap作者多了一个著名的Doug Lea,他是个并发编程大神;

2.产生时间的不同:Hashtable在JAVA一发布就提供了键值映射的数据结构,而HashMap产生于JDK1.2

3.继承的父类不同:HashMap是继承自AbstractMap类,而HashTable是Dictionary类。它们又同事实现了map,Cloneable(可复制),Serializable(可序列化)这三个接口(Dictionary类是个一个已经被废弃的类。父类都被废弃了,自然而然也就没人用它的子类Hashtable)

4.对外提供的接口不同:

Hashtable比HashMap多提供了elments()和contains()两个方法。

Contain()用来判断此集合是否包含传入的value

打印结果为true;

elments() 方法继承自Hashtable的父类Dictionnary。elements() 方法用于返回此Hashtable中的value的枚举

5.对Null key和Null value的支持不同:

Hashtable既不支持Null key也不支持Null value。如果传入null就会运行异常为空指针。

HashMap中,null可以作为键,这样的键只有一个;可以有一个或多个键对应的值为null,当get()方法返回null值时,可能是 HashMap中没有该键,也可能使该键所对应的值为null。因此,在HashMap中不能由get()方法来判断HashMap中是否存在某个键, 而应该用containsKey()方法来判断。

6.线性安全性的不同:

Hashtable是线程安全的,它的每个方法都加入了Synchronize方法。在多线程并发的环境下,可以直接使用Hashtable,而HashMap不是线程安全的,在多线程并发的环境下,可能产生死锁等问题。

但是,HashMap效率要比Hashtable要好很多,在日常使用当中,大部分时间是单线程操作的。HashMap把这部分操作解放出来了。当需要多线程操作的时候可以使用线程安全的ConcurrentHashMap。ConcurrentHashMap虽然也是线程安全的,但是它的效率比Hashtable要高好多倍。因为ConcurrentHashMap使用了分段锁,并不对整个数据进行锁定。

7.遍历方式的内部实现上不同

Hashtable、HashMap都使用了 Iterator。而由于历史原因,Hashtable还使用了Enumeration的方式 。

当其他线程改变了HashMap的结构(增加,删除,修改元素的时候),将会抛出异常

但是通过iterator的remove()方法移除元素就不会抛出异常,

这个要自己去理解。

尽管hashtable采用了原生的同步锁来保护数据安全。但是在出现迭代数据的时候,则无法保证边迭代,边正确操作。于是使用这个值来标记状态。一旦在迭代的过程中状态发生了改变,则会快速抛出一个异常,终止迭代行为。

8.初始容量大小和每次扩充容量大小的不同:

Hashtable默认的初始大小为11,之后每次扩充,容量变为原来的2n+1。HashMap默认的初始化大小为16。之后每次扩充,容量变为原来的2倍。

9.计算hash值得方法不同:

Hashtable直接使用对象的hashCode,Hashtable在计算元素的位置时需要进行一次除法运算,而除法运算是比较耗时的。

HashMap的效率虽然提高了,但是hash冲突却也增加了。因为它得出的hash值的低位相同的概率比较高,而计算位运算

为了解决这个问题,HashMap重新根据hashcode计算hash值后,又对hash值做了一些运算来打散数据。使得取得的位置更加分散,从而减少了hash冲突。当然了,为了高效,HashMap只做了一些简单的位处理。从而不至于把使用2 的幂次方带来的效率提升给抵消掉。

未完待续……

作为一个专科大二学生真的应该有紧迫感了相关推荐

  1. 获诱人的实习offer、在Kaggle推AI大赛,大二学生如何做到?

    一早起来,我与远在万里之外的儿子视频,听他聊在波士顿的暑假实习工作,听他讲业余时间和团队一起设计.研发.组织的人工智能大赛Lux-AI Challenge,听得很开心.很兴奋.周末有闲,写篇文章来分享 ...

  2. 获诱人的实习 offer 、在 Kaggle 推 AI大 赛,大二学生如何做到?

    作者:陶建辉 来源:爱倒腾的程序员 前序 一早起来,我与远在万里之外的儿子视频,听他聊在波士顿的暑假实习工作,听他讲业余时间和团队一起设计.研发.组织的人工智能大赛Lux-AI Challenge,听 ...

  3. 一个大二学生送给大一学弟学妹的建议

    博主简介:先简单的介绍一下我吧,本人是一名大二学生,来自四川.目前所学专业是人工智能,致力于在CSDN平台分享自己的学习内容. 我为什么要写这篇文章? 我来到CSDN也已经一年了,在这一年里面,我学会 ...

  4. 月入3w的大二学生告诉你:副业真的没有那么难搞

    我收到这个大二学生的赚钱经历稿件时,真的蛮惊讶的! 虽然只是求学阶段,已经充满了生意智慧. 也许,他的故事能告诉你:你面临的一切困境,并没有想象中那么难!以下,是这位哥们儿特别真实的自述. 现在社会读 ...

  5. 来自一个大二学生自学Java一个月的感受,新人学习

    我,大二学生,一个期盼自己有一天成为黑客大佬的癞蛤蟆,而且还是金皮的. 癞蛤蟆的开始 因为自己从小对电脑有特别的兴趣,而且看了许多关于黑客的文字或视频资料,让自己一度想成为像剧情里的黑客一样,可以呼风 ...

  6. python实习做什么工作-大一/大二学生Python实习的困惑?

    题主是一名非名校的CS本科学生,现在遇到了一些困惑,想请教一下热心的segmentfault网友.因为不是985/211名校,现在题主所在的这所学校我感觉学风非常不好,第一是整体水平太低,一学期结束了 ...

  7. 一名大二学生的学习状况和未来计划

    郑州某高校的一名大二学生给我来信,谈的内容不少,我在[]加些注解作为回复.讨论. 下面是来信及我的批注. 您好!我是郑州的一名大二学生,专业是计算机(嵌入式软件开发方向),我在您的博客里问过您一个问题 ...

  8. 大二学生--腾讯CSIG测开面经

    大二学生一个偶然的机会,腾讯某个岗位比较急,有点像内推吧,就想着试试看,积累积累经验(深技大大三下就开始实习)就把简历发过去了. 一面(30min) 首先面试官Kinda人很好!必须夸! Kinda: ...

  9. 大二学生一年通过信息系统项目管理师+中级

    我是一名物联网工程专业的大二学生,在大二的两个学期分别拿到了中级系统集成项目管理工程师和高级信息系统项目管理师两个证书.先说考证的目的,作为信息工程学院的学生,并且未来想从事相关行业且有考研深造的打算 ...

最新文章

  1. linux系统中安装java
  2. IP核引发的关于定,浮点数的认识
  3. nginx+tomcat+memcached负载均衡
  4. 将sublime text3添加到右键菜单中(可执行)
  5. MATLAB图像小波变换
  6. oracle 自治事物,自治事务 - 努力创造未来! - BlogJava
  7. java poi无法读取word_poi,word_POI读取word内容的疑问,poi,word,java - phpStudy
  8. 在wamp集成环境中添加mysql操作记录
  9. rk3399_android7.1读写sn和eth mac地址
  10. 6月27日 OGDF不同的布局算法
  11. spark 查看 job history 日志
  12. 一些堪称神器却少为人知的网站或软件(整理自知乎)
  13. 小程序 · 引入企业微信中的「在小程序中加入群聊」插件
  14. 2022临床助理医师考试专业知识模拟题
  15. 1.3【展讯平台】Android 驱动(Kernel)、系统(framework) 定制,调试日志
  16. 二阶系统表达式 稳态灵敏度
  17. PUPANVR-软硬件板端开发环境配置(4)
  18. 1.3编程实现从键盘依次输入姓名(字符串)、年龄(整型)、性别(字符)和成绩(浮点型),然后依次显示上述内容
  19. c语言malloc函数程序,c语言 malloc函数详解
  20. ECCV22 | 从单目RGB图像中进行类别级6D物体姿态估计的物体级深度重构

热门文章

  1. pdf文件怎么修改颜色
  2. linux系统上安装ntp服务,linux时间同步ntp服务的安装与配置
  3. python pow函数用法_python的pow函数怎么用
  4. C++函数返回值介绍
  5. 基于Arduino UNO人流量统计DIY
  6. input file 重复上传同一张图片失效的解决办法
  7. python的数字运算_Python基础语法——数字运算
  8. 快手42|48位sig3解密-unidbg
  9. OSCP学习笔记总结(本资料禁止转载)
  10. matlab的单精度浮点数,关于matlab的单精度与双精度