美文网首页
一个二本的学生怎么学习计算机

一个二本的学生怎么学习计算机

作者: sid_yue | 来源:发表于2016-11-06 17:01 被阅读0次

    这是一个不知名的本科生的一点心酸经验啊,我当年(大二)也是想逃离学校流水线培训的传统,想去主流的互联网公司,所以就奋斗啊奋斗啊,现在大三,在北京中关村实习,校招关键还是看基础,因为工作的软件各种各样,进公司就靠基础去学习的,几乎每一个公司的面试官真的对一些问题是必问,要做的是天天有计划地积累!写代码!看书!总结!看别人的面试经历!考考自己!在深度的基础上又有一定广度,还有就是实习和项目的问题,真的有那些经验的确可以加分,但是没有也可以,你的基础一定要扎实,我当年在学校就没有实习机会,也没有高端的实验室,所以只能自己找找资料,看看学长们的学习经验,好好把基础学好,多写写软件!

    目标的话:我觉得达到面试,的时候你能够很自信的表现自己的积累的感觉就很棒了!

    说说我觉得重要的几点吧:

    1,数据结构,原理,应用,复杂度等基础一定熟练,结合算法写代码。

    2,算法,说白了,面试的时候面试官不是来为难你的,大都会问到经典的题目,平时肯定要多写代码,有篇文章总结常考算法题目很不错的:让 BAT 的 Offer 不再难拿。每天练两三道吧,时间一久你就有了那种做算法寻找的突破口的思维了,刷刷题leetcode,牛客网(比如网易校招就会在牛客网上考,好多标准格式输入输出,不会啊~)。

    3,java,我个人认为一定要写软件,最好是可以开源,那种感觉真的不一样,比如你写一个使用注解的mvc,你就有机会吧代理和注解好好学一遍,比看书学这两块儿好多了,或者了解mvc三个模块儿的交互,bean管理等等,写软件就是以结果为导向,真正为了达到一个目标动用和熟练自己的能力,而不是一味的写demo来寻求提升。

    4,校招java肯定会问到jvm的,垃圾收集,内存模型,内存管理,线程安全,ClassLoader,类加载,字节码编译(挺重要的),javac等等,出名的书有《深入理解java虚拟机》,《分布式java应用:基础与实践》也有一些jvm的总结,写点demo,准备面试前看看别人的面经,自己试着回答回答,慢慢记得jvm就很熟练了。

    5,其他一些比较重要的java基础有nio,io,集合框架源码等,我之前面试几家知名互联网公司,这些都问到了,看看Netty的源码,不用复杂,看netty3也很好了,可以的话自己用NIO写一个可以搭建echo服务器框架demo,这样你的nio就很熟练了,还有看看Map,Collection接口下的集合的源码,比如HashMap,ArrayList等等,是否可以为空,线程安全否,排列,异常处理,遍历等等。

    6,数据库我觉得和java一样重要吧,虽然现在NoSQL什么的,MySQL仍然使用非常广,使用可以网上查查不用看书了,《高性能MySQL》确实不错,挑挑重要章节看,面试一般都会问数据库的,比如索引优化,分区分表,查询优化,索引数据结构,sql语句熟悉。

    7,并发,这个内容也很多啊,比如《java并发实战》这本书就可以看得出,比如Semaohore,读写锁,显式锁,看看并发集合的源码,学学人家的源码怎么应用高并发的,比如ConcurrentHashMap的热点域,分段锁,别人怎么解决死锁的,我记得LinkedBlockingQueue里面的每次上锁和放开锁的方式都是一致算是个方法。可以写写demo,测测运行时间,压测,不断增加复杂的同时也提升了自己的并发编程能力(我觉得面试官很喜欢文ThreadLocal啊哈哈)。

    ---------------------------------------------------书

    说说我觉得不错的资料吧:

    《剑指offer》自己时间比较紧只是挑看了些,但是和编程之美一样,需要好好读的。

    《编程之美》。

    《effective java》好多面试深入的java问题在这上面能解答,真是非常值得一读,比如问你在什么时候需要定义自己的序列化?虽然翻译不好~。

    架构探险——从零开始写Java Web框架》从demo到玩开源的升华,虽然是大神的经验,但确实可以学到好多

    《设计模式之禅》这个书很有趣,也可以为了节省时间,可以作为网上设计模式博客资料的补充。

    《深入理解java虚拟机》很经典,我也至少看了4遍。

    《分布式java应用:基础与实践》个人觉得非常好,让你少走弯路啊。

    《how tomcat works》这个就是知其然,知其所以然的好资料了。

    《Java并发编程实战》这个应该是必读吧,并发单独写本书,课件内容需要好好研究的,多写代码压测也很有意思的。

    《gradle实战》或者《maven实战》个人觉得maven在工作中用的多些,但gradle更新。

    《高性能MySQL》看了这个面试mysql的知识也不怕什么了吧~

    《MySQL技术内幕:InnoDB存储引擎》高人推荐,看的不多,但是绝对厉害啊。

    《Java核心技术》没看过第二卷,其他知识从另外的书上积累的。

    《tcp/ip协议 卷一》经典,个人觉得记不了那么多啊,面试问的网路很少问得生僻~。

    资料:

    面试分享 -  IT面试 专业的IT面试社区

    相关文章

      网友评论

          本文标题:一个二本的学生怎么学习计算机

          本文链接:https://www.haomeiwen.com/subject/jgpiuttx.html