以下是我大学看过或是即将要看的书籍以及我对未来的职业规划
Java:
Thinkingin java
学习流程:
core java I---->Algorithm4th-edition--->thinking in java---->(大二下)数据结构与算法分析(c语言)
---->headfirst设计模式- /(大三上) 编译原理(龙书)------>深入理解计算机系统 --->tcp详解
--->操作系统(linux+unix) */---->
《Linux内核完全剖析》
来自 <http://book.douban.com/subject/3229243/>
《深入理解LINUX内核》
来自 <http://book.douban.com/subject/1767120/>
http://www.zhihu.com/question/26350691(java书籍)
(大三下)
java的spring,Struts+项目
来自 <http://www.zhihu.com/question/23187488>
--->effective java--->
算法博客:http://blog.csdn.net/v_JULY_v,(面试可用)
(大四)面试准备(剑指offer,编程之美….leetcode)
提高:
Java并发编程
Spring框架
深入理解JAVA虚拟机
第一行代码(android)
Effective java //java进阶
重构//怎样写出可读性强的代码,如何维护代码
代码大全、
编码的奥秘
深入理解计算机系统(CSAPP)
阿里校招研发工程师岗位考察的基础可以大致总结如下:
1,操作系统。尤其是内存/线程/进程方面
2,计算机网络协议,重点关注TCP/UDP/HTTP。
3,数据结构与算法。我本人也没搞过acm,,目测考察得算法不是ACM那种级别。这一块儿系统学习后,后面再多刷刷大公司的笔试题就ok了。
4,数据库,这一部分倒没怎么问我。不过资料显示数据库通常考察以下几点1) mysql存储引擎中索引的实现机制;2).数据库事务的几种粒度;3).行锁,表锁;乐观锁,悲观锁
5,设计模式,熟悉常用的几种设计模式就行。
6,Java语言基础。熟悉java语言基础,了解JVM、内存模型,重点考察面向对象、集合框架(继承关系,实现原理)、异常体系、IO体系、并发集合、多线程。熟悉多线程编程/并发/线程安全明显可以加分。
7,J2EE,熟悉Spring/SpringMVC , ORM 什么的吧。看过源码,了解原理之类的也明显可以加分。
8,Linux,熟悉基本的linux命令就行吧- -
9,自己做的项目。
10,其他发散性的问题。拼人品了。