欢迎来到皮皮网网首页

【网页编译app源码】【168采集源码】【linux源码文档】java并发编程的艺术 源码_java并发编程的艺术 源码是什么

来源:广西tv代理源码 时间:2024-12-26 11:53:09

1.Java学习书籍推荐
2.那些阿里人写过的并发编程a并书
3.如何系统的学习JAVA?
4.转一篇我自动化学院老乡的秋招30w+的心得

java并发编程的艺术 源码_java并发编程的艺术 源码是什么

Java学习书籍推荐

       本文推荐Java学习过程中的优秀书籍,涵盖基础、术源并发、发编虚拟机等关键领域。艺术源码以下书籍推荐供您参考:

       Java基础:Head First Java实战(第三版)

       本书适合入门学习,并发编程a并通过独特方式,术源网页编译app源码以谜题、发编探秘和访谈形式,艺术源码全面覆盖Java语言和面向对象编程知识,并发编程a并包括Lambda、术源流、发编泛型、艺术源码线程、并发编程a并网络和桌面GUI等内容。术源即使有其他编程语言背景,发编也能采用现代方法高效学习,轻松编写Java代码。

       Effective Java中文版(原书第3版)

       本书专为Java经验丰富的开发者设计,深入探讨Java编程中的实用经验规则,解决日常开发中的问题。全书分为章,包含个条目,通过简洁的阐述和示例代码,帮助开发者编写高效、优雅的程序。新版增加Java 7及以后的特性,如Lambda表达式、流、Optional类、接口默认方法等,进一步优化代码。

       Java性能权威指南(第2版)

       面向Java程序员和性能优化工程师,本书详细分析影响性能的JVM配置、即时编译、垃圾回收、堆内存与原生内存优化、168采集源码线程与同步等关键因素。第2版专注于Java 8和Java ,重点介绍G1垃圾回收器、Java飞行记录器等最新技术。

       码出高效:Java开发手册

       本书适合从初学者到高级开发人员的广泛读者群体。全面梳理Java规约,从实战出发,深入讲解面向对象理论,指导开发者成为优秀程序员。内容覆盖集合框架使用、高并发多线程处理、优雅代码编写等,结合阿里巴巴实践经验和故障案例,帮助开发者提升技术能力。

       Java并发Java并发编程实战

       本书面向有Java开发经验的开发者,深入解析并发理论与实践,介绍设计原则、模式与思维,帮助构建高性能并发程序。通过实例代码,全面讲解并发编程的核心概念,包括线程安全、并发容器、原子操作、线程池等。

       Java并发编程的艺术 第2版

       本书适合Java开发工程师、架构师、并发编程爱好者等,详细剖析Java并发编程框架、原理、技术、设计模式和应用。内容涵盖JDK源码、JVM、CPU层面的linux源码文档并发实现,内存模型、锁相关API、并发容器、原子操作类、线程池等,提供丰富的实战案例和优化方法。

       深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)

       本书专为中高级开发人员、系统调优师、平台架构师设计,从原理和工程实践两方面深入解析JVM。内容分为五大部分,涵盖Java技术体系、自动内存管理、虚拟机执行子系统、程序编译与代码优化、高效并发等关键领域,提供实战案例和优化技巧。

那些阿里人写过的书

       阿里人智慧结晶,从技术到理念,每一本书都是一份独特见解的呈现。让我们一起探索这些璀璨之作:

《Storm实战》(作者:商家数据业务部,),深入讲解了风暴技术的实战应用,为技术开发者提供了不可或缺的工具书和实战案例。

       接着是行业内的深度洞察,《淘宝技术这十年》(子柳著,),以十年淘宝成长的历程,揭示了技术如何推动业务发展的历程。

       而苏杰的《人人都是产品经理系列》(),则是产品思维的瑰宝,分享了从构思到实践的宝贵经验。

       在产品设计领域,《淘宝十年产品事》()带你领略电商产品的演变,无论是在线砍价源码初入行者还是资深从业者,都能从中获益匪浅。

       网络安全方面,《白帽子讲WEB安全》(吴翰清著),阿里巴巴的专家为你揭示互联网安全的奥秘,提供实用解决方案。

       数据驱动的决策,《strong>《数据挖掘与数据化运营实战》 (卢辉著),通过实战案例,展示了数据在运营中的力量。

       Java并发编程,《JAVA并发编程的艺术》(方腾飞、魏鹏著),深入剖析并发编程技术,助力技术进阶。

       企业架构转型,《strong>《企业IT架构转型之道》 (钟华著),揭示了中台战略与共享服务体系的构建之道。

       对于跨终端Web开发,《跨终端 Web(耿嘉安著,),无论是PC还是Mobile Web,都为开发者提供了一份融合的指南。

       深入理解Spark,《strong>《深入理解Spark》 (阿里巴巴专家推荐,),拆解了这个强大框架的源代码,适合进阶学习者。

       阿里巴巴的体验设计,《strong>《阿里巴巴UED体验设计》 (),分享了设计团队的经验与思考,为创新提供灵感。

       大数据领域的深度剖析,《strong>《大规模分布式储存系统》 (杨传辉著,),讲解了分布式存储的android 飞行 源码核心原理与实战应用,以及OceanBase等技术的实战案例。

       从基础到深入,从实践到理论,每本书都是阿里人的智慧结晶,它们共同描绘了阿里在科技前沿的探索之路。无论是寻求技术突破,还是理解商业变革,这些作品都值得一读。在云栖社区知乎机构号,你可以找到更多阿里人的思考与分享,助你洞察新经济的脉动。

如何系统的学习JAVA?

       çŽ©Java多年的老司机带你上车全面系统学习Java,并且还能教你如何学习才能在今年拿到一份不错的offer。

       è¯´åˆ°ç³»ç»Ÿå…¨é¢ï¼Œå°±æ˜¯ä»¥ç›®å‰ç»å¤§éƒ¨åˆ†å…¬å¸æ‹›è˜è¦æ±‚的知识内容为基准,毕竟我们学习Java都是为了高薪工作,《史记》中说”天下熙熙皆为利来,天下攘攘皆为利往“,为了高薪工作而学习Java技术,这都是人之常情,也是大部分人奋斗的目标。

       æˆ‘们先看看市场上招聘Java程序员都需要哪些技术:

       å¤§å®¶çœ‹äº†ä¸Šé¢ä¸‰å®¶çš„招聘要求是否发现,目前作为初级Java工程师的要求都是差不多的,主要框架就是SpringMVC、Mybatis、SpringBoot、SpringCloud为主。而数据库是MySQL和Oracle,一般中小型公司是用MySQL,而稍微规模稍微大一点的公司则是Oracle为主,以及Web相关的基础内容和一些如git、Maven、SVN工具的使用。

       æ‰€ä»¥æˆ‘们必须先了解目前市场都是需要学习什么技术,你所学的知识要有用武之地才行,紧贴时代的前沿。所谓全面系统地学习Java,我们首先要了解自己应该学习哪些内容。

全面系统的Java内容如下:

       ä¸€ã€JavaSE基础篇

       JavaSE就是一种标准版,是Java语言的基础部分,Java衍生出来的各种框架(如Spring系列)各种产品都是基于JavaSE标准,JavaSE是Java向上发展的基础,Java任何高级产品的底层基础都是JavaSE,通俗来讲这是所有孩子的”爹“。JavaSE如果学不好,理解不透彻,后面学习框架时就有如天书一般,所以JavaSE这部分的重要性是不言而喻的,希望各位初学者铭记。

       ä¸»è¦åŒ…含内容:数据类型、基础语法、运算符、流程控制、数组、面向对象、常用类、异常处理、集合、IO流、多线程、反射、注解、解析、网络编程。

       PS:JavaSE的内容非常庞大,任何一套JavaSE教程都不会把所有的方法讲一遍,只会挑平时工作中常用的内容来讲解,所以JavaSE里面的内容很多都是课后自己在API文档中慢慢了解的,你自己一定要学会主动学习,不能坐以待毙。

       æŽ¨èå­¦ä¹ ä¹¦ç±ï¼šJava核心技术

       è¿™æœ¬ä¹¦æ˜¯è€ç¾Žå†™çš„,出版以来,一直备受广大Java程序设计人员的青睐,畅销不衰,是Java经典书籍。囊括了Java平台标准版JavaSE的全部基础知识,提供了大量完整且具有实际意义的应用实例,详细介绍了Java语言基础知识、面向对象程序设计、接口与内部类、事件监听器模型、swing图形用户界面程序设计、打包应用程序、异常处理、登录与调试、泛型程序设计、集合框架、多线程等内容。(这本书是每个Java程序员必看的书籍)

二、数据库篇

       æ•°æ®åº“是学习Java语言必学的一项内容,常见的数据库就是MySQL和Oracle这两种,作为初学者一般都是学习MySQL为主,一般情况下中小型企业都会选择MySQL数据库,比较大型的互联网公司会选择用Oracle,而学习Oracle相对于MySQL也要复杂一些,建议是主要学习MySQL数据库,Oracle作为了解即可。学习数据库较为简单,基本的操作就是增删改查。

三、Web开发

       Web前端内容:HTML/CSS/JavaScript/(前端页面)

       æ³¨æ„ï¼šJava后端开发可以不用过多关注HTML页面及CSS的处理,但是最起码要会用简单的HTML,JavaScript是必须要会的,因为Javaweb后端程序员毕竟要接触使用AJAX方式处理数据及显示。当然如果只关注服务器端实现而不考虑任何用户界面,则HTML、CSS、JavaScript都不用关注,但是完全脱离前端的开发现在虽然也不少,但是绝对不关心前端是不可能,尤其是JavaScript,但是前端却可以完全不关心服务器后台的任何实现。

       æŽ¨èå­¦ä¹ ä¹¦ç±ï¼šã€ŠJavaScript DOM编程艺术》(第二版)

       è¿™æœ¬ä¹¦ä½œä¸ºè¢«å¤§å®¶æŽ¨èçš„最多的前端入门书籍是有道理的。他能真正让大家了解dom脚本编程,或是说前端编程技术背后的思路和原则。对于初学者来说,这本书没有任何门槛,按部就班跟着书籍实例编写代码即可。我们会知晓如何对浏览器元素操作和掌控,会学会如何实现简单的页面效果。这种简单易得的成就感是一个编程语言入门时最难能可贵的体验。

       JavaEE内容:Servlet/JSP

       è™½ç„¶çŽ°åœ¨ç½‘上在传JSP很少用了,可能是被一些模板或JS AJAX方式代替了一些,但是我认为还是应该接触一下,万一要用到不会怎么办,而且它是Java EE的动态网页实现标准组件。学习JSP过程也能更好的帮助我们理解web会话的过程,掌握web会话都有哪些我们必需知道的。如果学习Javaweb、JSP都不接触那就相当于学习使用Springboot而一点不接触SpringFramework一样,岂不是稀里糊涂。包括开发Javaweb æˆ‘们必需知道的概念诸如Web应用上下文,请求对象,响应对象,HttpSession,Cookie等都是在接触学习JSP和Servelt中体现的,还有一些比较少见的EJB JSF JMS ä»¥åŠ Java Felix等。

       ä¸€äº›åˆå­¦è€…不清楚这些难免会有误区,尤其是有些较成熟的工程师也这么说,我只能说他们很无知,只是代码机器而已,其实对于应用开发设计也就稀里糊涂,人云亦云罢了。

       æ°¸è¿œæ²¡æœ‰è¢«æ·˜æ±°çš„技术也没有永远流行万能的技术,要看在什么环境和场合应用,符合我需求的技术和工具就是好的,就是对的。

四、高级框架

       1、Springframework æ ¸å¿ƒIOC容器

       2、Spring boot åœ¨Spring基础上的更全面提升效率的Spring工具

       3、ORM æ¡†æž¶å½“今流行使用较多的是Mybatis å’Œ MP(Mybatis插件),Hibernate是可选性学习的

       4、模板技术,比较成熟的Freemarker

       5、Spring Cloud å¾®æœåŠ¡æ¡†æž¶ï¼ŒSpring Cloud提供的全套的分布式系统解决方案。

五、工具

       maven æ˜¯æž„建管理项目的工具,svn å’Œgit是团队协作开发的项目源代码及相关文档资料管理工具,需要学习者初步掌握其应用。

       åƒTomcat,jetty ï¼Œresin,JBoss,GlassFish ç­‰éƒ½æ˜¯éƒ¨ç½²è¿è¡ŒJava web应用的服务器。

       ä»¥ä¸Šå°±æ˜¯åˆå­¦è€…大概学习的内容,我是尽量站在初学者的角度来说的,没有写得特别复杂,怕初学者看不懂,没有实质性的帮助。所以我尽量用白话把话说的简单一些,给大家罗列出主要学习的Java知识点。

       çŸ¥é“了Java要学习的大概内容,下面就是怎么才能用最好的方式把Java学好,从而达到就业的水平,首选我们应该了解一下目前想要达到找到工作的水平,应该是怎样的。如果大家对于学习Java有任何的问题,关于如何提升学习Java以及学习方法、学习技巧、快速达到就业的技术水平,都可以随时来问我,这是我建立了5年的Java学习交流裙,前面三个是,中间三个是,后面三个是。 有不懂的问题可以随时在里面问,需要Java各个阶段的学习资料也可以在里面进行下载。

       Java学到什么程度才能达到就业的水平:对于大多数初学Java的同学而言,最关心的莫过于我学要学习哪些和学到什么程度才能找到相关的Java研发工作岗位。

       ä¸åŒçš„软件公司对研发人员的水平要求存在一定的差异,如果从大多数中小型企业来看能接受一个入职到本企业的IT技术人员通常需要具备以下能力。

       1 ç†è§£æŽŒæ¡Java核心面向对象的设计思想和代码构建,能以面向对象方式设计编写业务功能;

       2 ç†Ÿç»ƒæŽŒæ¡è‡³å°‘两种数据库的开发,如Oracle,mySql,能熟练编写基本常用及高级的SQL语句;

       3 å¿…需掌握并熟练应用Springframework IOC容器,深入了解IOC及AOP概念并应用,使用MVC实现对web è¯·æ±‚做出处理;

       4 ç†Ÿç»ƒæŽŒæ¡Java处理数据库的ORM框架myBatis,JDBCTemplate,对Hibernate也应有所了解;

       5 ç†Ÿç»ƒåº”用Spring å¢žå¼ºå·¥å…·é›†åˆSpring boot;

       6 è‡³å°‘熟练使用Eclipse及IDEA集成开发工具构建应用程序;

       7 èƒ½å¤ŸåŸºæœ¬æŽŒæ¡MVN GIT Maven åœ¨é¡¹ç›®ä¸­çš„使用;

       8 å‰ç«¯å¼€å‘必需掌握JavaScript和常用的JS框架

       ä»¥ä¸Šè¿™äº›éƒ½æ˜¯ä¸­å°åž‹è½¯ä»¶ä¼ä¸šçš„入职基本要求,如果你能够达到这个水平,找到一份Java工作应该是不难的。

推荐的学习方式:系统视频教程+书籍辅助+有人指导

       è§†é¢‘教程:对于Java初学者来说,看视频学习也是最普通的方式,视频教程会把工作中常用的知识进行讲解,而且视频一般都是分章分节,每一个小节都只讲一个知识点,学习起来较为明确。但是视频教程尽量要完整,最好是一整套视频学习。

       ä¹¦ç±è¾…助:书籍便于对理论知识的补充,以便更容易理解Java面向对象核心设计理念和代码实践功能。

       PS:但是大部分人都没有耐心看不下去书,所以大部分人都是只看视频教程学习。如果自己能看的下去就看,看不下去就不看。

       æœ‰äººæŒ‡å¯¼ï¼šå¤§éƒ¨åˆ†äººéƒ½ä¸å¯èƒ½å…¨é è‡ªå·±çš„能力把Java学的特别好,因为你不了解这个行业,也不知道怎么学,完全零基础自学Java想要找到工作,概率极低。所以建议如果真的想要做这行,尽量找人去带带你,有不懂的问题可以直接请教,少走弯路,提高效率。学习的质量决定以后工作的薪资以及起点,所以还是应该重视起来。

项目的重要性

       å¾ˆå¤šJava初学者看完一些视频,学过一段时间就说自己“会了”。这里我需要给大家纠正一个问题,希望每个学习Java的知友都能明确学习编程的中心是什么。 å…¶å®žåœ¨æˆ‘看来,学习编程从来都不存在会不会这样的说法。学习编程不同于初中学的数学、物理、化学,记住一些公式,做同样一种类型的习题,就证明类似的题型你会做了。 ç¼–程只讲技术能力是什么水平、什么级别的,最能证明技术水平处在什么阶段的,就是在做项目的过程中,研发好的互联网产品,写代码的质量怎么样,排错能力怎么样,找BUG的能力怎么样,构思功能模块整体布局的能力怎么样等等。 åšä½œä¸ºåˆå­¦è€…想要达到入门的水平,就是自己具备了一些简单项目的编码能力,初学者最重要的一点就是培养自己的编程思维,每一个程序都是不一样的,你不可能都背下来,学编程也不是靠死记硬背的,你只有能去独立编码写一些东西的时候,才有就业的机会。

       æ‰€ä»¥åšé¡¹ç›®çš„能力才能去衡量一个学习的水平处在什么阶段,而往往那些嘴上说“会了”的人,往往没写过多少代码,也一个项目做不了出来,这就是纸上谈兵,完全曲解了学习编程到底在学什么,也不知道应该往哪里去。

       æ‰€ä»¥ä¸€ä¸ªJava初学者在学习的整体过程中,必须要有两个能拿得出手,能写在简历上的项目作为找工作的资本,并且要对于这两个项目的前前后后相当了解,才可能最后面试成功,一个初学者在学习完Java所有内容后,如若还达不到可以做简单项目的水平,那么他整个学习过程还是白费,没有达到最终的学习目的,就是学习质量不过关。所以项目的重要性希望大家都明确,因为有太多Java初学者不知道最后学习的目的是什么,最后白白的浪费时间。

       å­¦ä¹ å¿ƒæ€ï¼š

       å­¦ä¹ ç¼–程一定不是一个简单的事情,换句话说它还是挺困难的,毕竟能出去找到工作,就是少则五六千,多则上万的工种。这些知识都不是随随便便就是任何一个人都能学会的。关于这个学习心态,希望提示大家要把重心放到“学习”这件事上,因为我发现有很多Java初学者都是像“完成任务”一样去学习,所谓完成任务就是“我把这些视频看完就能找到工作吗”“我把这些都学完就能找到工作吗”学完并不等于“学会”,这是两种不同的概念。

       ä½ åˆ°åº•ç†æ²¡ç†è§£ï¼Ÿ

       ä½ åˆ°åº•èƒ½ä¸èƒ½åº”用起来?

       ä½ åˆ°åº•ç”¨æ²¡ç”¨å¿ƒï¼Ÿ

       ä½ è‡ªå·±åº”该是最清楚的,我发现那些把学习当做完成任务一样去对待的,这样的人没有一个是有耐心的,自己在心里欺骗自己“把这些视频看完我就能找到工作”,到了最后自己就逐渐明白,完全是自欺欺人,最后放弃说自己不适合学这个。其实揭开这些人的面具真相就一个:他们没有耐心学习,也不喜欢学习,这是以前经历造成的,是多年的习惯导致的。

       æ‰€ä»¥æ­£ç¡®çš„学习心态一定是把关注点放到学习这件事本身,你要学会这些知识,这些内容,这些技术,这是需要一天一天逐渐积累起来的,并不是短时间就可以达到什么结果。

       PS:如果你对于学习没什么耐心,没什么兴趣,我劝你不要来学习编程,学习编程绝对是一个耐心的活,也是需要不断学习和充电的行业。或者说已经到了信息时代,不爱学习的人,很难有耐心去学习知识的人,在信息时代是混不下去的,任何行业都是如此,不学习不进步不紧贴时代的人就一定会被淘汰。

最终自学Java能就业的人基本具备以下几点:

       1、有超强的学习耐心及进取心

       2、手不懒,代码写的足够多,熟能生巧

       3、有一定的学习能力,善于自学善于自己解决问题

       4、可以独立写一些简单的项目

       ä»¥ä¸Šå†…容均由本人手写而成,完全站在Java初学者的角度来说,就是希望能用通俗易懂的语言让大家清晰的明白学习Java全面系统的学习内容,以及应该达到什么程度才能拿到一份Java工作的offer,希望可以给大家带来帮助。

转一篇我自动化学院老乡的秋招w+的心得

       文章并非炫耀南信大研究生的薪资水平,这并非普遍现象;也不是鼓动大家投身高强度互联网开发工作;而是告诉大家,只要在南信大“双一流”平台上努力,研究生阶段的学习并不会比某邮、某电、某的研究生差太多。就像南工大一样,我的同事和师弟在阿里等公司工作,南工大计软院也不差。问题的关键在于个人努力,而非学校。

       送给在校的南信大研究生们:别沾沾自喜于自己就读于双一流高校,千万别把读研当作玩乐,否则研一玩、研二混、研三开始自责,抱怨南信大这一平台、抱怨南信大远不如某某邮、某某电、某某。

       首先:这种薪资待遇在南信大研究生里是否普遍?答案当然是否定。很多人喜欢拿某邮、某电、某的研究生高薪与南信大nuister低薪做比较,得出南信大工科研究生工资低、找工作困难的结论。然而,这样的情况极为罕见。在某些知乎、贴吧微博黑子的言论里,却将南信大工科研究生工资低、找不到工作作为事实。

       截止到年月日,据我所知,南信大电信院、计软院、自动化学院研究生大部分偏重理论,实习机会不多,导致这些学院的研究生毕业后从事的非开发类工作较多。

       某些知乎、贴吧微博黑子开始拿南信大非开发类的薪资去对比某某邮、某某电、某某开发类的薪资。如果你在南信大学开发类的技术工作,大部分人都是从k、k起步,即便你不是南信大的研究生,其他一般高校的毕业生也差不多。

       其次:南信大目前与某某邮、某某电、某某的差距在哪里?

       ————————————————————大厂的认同,大厂不仅仅只有阿里、腾讯、华为。我们电信院除非是码农才有可能进这些公司,那我们电信院考电信院干嘛,何不考计软院呢?我读研的时候,连海康威视这样的企业都不来南信大校招,我们nuister缺的就是一个‘’头衔。现在呢?我毕业的时候,海康、大华都来了,我的电信院师弟们陆续拿到了“AMD”、“大疆”、“小米”等的offer。现在电信院需要进步的是如何大批量培养优秀人才,大批量送这些企业,时间会证明:南信大为什么叫做南京信息工程大学。

       实话实说,截止到现在,喷子和黑子眼中的大厂“腾讯”、“华为”并不太认同南信大研究生的质量。准确地说,并不太了解南信大研究生、本科生的质量。因此,在届本科生新增加了“华为班”、“腾讯班”,包实习的那种。说白了,也就是南信大要让更多的nuister让那些大厂明白:其实南信大优秀的本科生、研究生们也不差!!

       贴一张年本科理科的投档线统计,黑子们不会以为学校不给你解封、学校不给你点外卖、学校不给你啥啥,把学习和生活中的失败发泄到贴吧、知乎、微博上就能动摇那些对南信大充满向往的学弟学妹们吗吧?还快跑?快跑?快跑?

       最后:物以类聚、人以群分。为什么我身边的师弟师妹大都是年薪w+,甚至几个w+,到你们某些人眼里南信大研究生就是底薪低能了?

       希望那些对南信大充满向往的准研究生们也千万别被这w+的年薪冲昏头脑、这不代表普遍。尤其是电信院、计软院、自动化学院其实这几年报考人数还是蛮多的、尤其是计软院。报考请结合自身能力量力而行。

       至于那些正在读研的准研究生们:开发是高薪的为数不多的出路,开发也不仅仅是我这里说的大数据开发、我干的前端开发、电信院也有fpga开发、算法岗位开发、图像处理开发等等。开发大概率意味着如果你想要高薪,至少研一的时候就要开始准备学技术,研一研二在保证毕业的前提下,要反复刷技术、刷面试题,有机会的还要去实习实习。这样拿w+的概率才大,这也意味着你读研的时候别人还在吃喝玩乐你在学技术、别人缩在被窝里睡懒觉、你在赶去实习公司的地铁上。这也意味着可能你工作后大概率会,大概率会加班。也并不是所有人都向往大厂的生活,至少我本人不羡慕。

       下面是他刚刚考上自动化学院(那个时候还叫信控院),他问我什么最赚钱,我跟老乡说:码农赚钱,算法类大数据类的码农更赚钱。

       部分微信聊天记录:

       我老乡的贴吧原文:

       楼主秋招算是顺利结束,目前到手的offer里面,最高总包年薪是 w(不算杭州 3w + 3w 人才补贴),公积金全额 * %。趁国庆没什么事,写一点面经给计算机的或者想转计算机的学弟学妹们,仅当参考。

       先下个我个人的结论,以我秋招的所见所感,南信大的学生真不差,南信大这个牌子也能达到大厂及格线,只是学校的培养体系所培养出来的孩子横向的项目实践能力普遍太弱了。大家多花点时间,最好找个实习,有很大机会进互联网中厂甚至大厂。

       说一下我个人的情况,本人是非科班硕,计算机几乎零基础(本科学过一点 C 语言),花了大约一年时间自学 Java 和 大数据。针对Java、MySQL、Redis、设计模式、计算机网络、操作系统等内容,我看了 CSNotes 和 JavaGuide 这两大著名八股文项目,百度或者 GitHub 就能搜到,JVM 和 JUC 部分我看了黑马满一航的视频(比较适合新手)以及《深入理解Java虚拟机》和《Java并发编程的艺术》这两本书,看完应付面试足够。大数据(Hadoop、Flink、Spark、Kafka)看了尚硅谷全套视频。尤其是Kafka,我研究过源码,然后面试官都挺喜欢问这个的,这算是我的加分项,所以我建议有时间可以看看Spring、Hadoop等框架源码。

       其实非科班的我最头疼的就是算法题,刚开始一头雾水,复杂度都不知道是什么,然后我到LeetCode上面刷“剑指offer”,几乎全程背诵 Krahets 的题解(真的是一点思路都没有)。慢慢的背多了,自己也能摸索出一些套路,后面连着背+理解刷了剑指offer和Leetcode有道,道应付大厂的普通题目绰绰有余了。

       另外就是实习,我在秋招前找了份实习工作,没学到什么技术,但是我觉得实习至关重要,比大部分比赛都重要,几乎每个面试官都喜欢深挖实习的项目,如果他们看不到项目就会一直问你基础,一道答不出来几乎凉凉,风险太大。

       最后秋招前的突击阶段,我花了很大精力在牛客网上,牛客有很多真实面经(基本无答案),我就看面经的问题,顺着问题自己心里面默答,如果发现这题不会,我就去立刻百度。大多数面试都是这种八股文 + 项目 + 算法题!

       转码过程挺艰辛的,但是终究有回报。希望学弟学妹们珍惜你的时间,好好努力。