当前位置:文档之家› 薛谌_分享(1)[20页]

薛谌_分享(1)[20页]


基础知识积累
3、数据结构与算法
算法的好坏决定了程序的效率,熟练的掌握数据结构,善于分析 算法的时间复杂度、空间复杂度将使你编程的能力大大提升。成为你的敲门砖。
《大话数据结构》
基础知识积累
4、良好的代码风格与设计模式
基础知识积累
1、Java的运行机制与性能
这一步让我们不仅仅只是会用java,更多的是去了解java的运行机制。
Java运行时内存机制 垃圾回收 Java类文件结构 Java类加载 《深入理解Java虚拟机》
基础知识积累
2、Java多线程
多线程编程是大互联网公司尤其看重的能力(华为面试中曾手写多线 程的编程题,曾在网易面试中被问了30分钟的多线程)。 结合书本,动手实践。 《Java并发编程的艺术》、《Java并发编程实战》
java小白的成长之路
薛谌
目录
基础知识积累
上手项目
进阶知识学习 笔试、面试知识
Q&A
基础知识积累
基础知识积累
1、java基础知识
语法、面向对象(类)、集合与泛型、异常机制 这个环节非常重要,第一次接触java的同学在这个环节可能 会有些吃力或乏味,可以适当找一些有意思的小程序自己 写一写。 《疯狂Java讲义》
基础知识积累
2、数据库基础:概念、用法
会用即可:会利用数据库设计表,会基本的增删改查语句 《SQL必知必会》
3、网络编程基础
前端、后台的概念、前端相关的知识、http协议与通信,通过博客了解 即可
时间节点:研一阶段
上手项目
上手项目
时间节点:研一暑假
项目的重要性
将所学知识运用于实际: 看代码与写代码的区别 没有实习经验,项目是评 判工程能力的唯一途径; 拓宽视野,继续学习
笔试、面试知识
关于实习与秋招的一些求职经验
一份好的实习很珍贵(提升自身的代码能力、了解大公司开发流程、秋招的敲门砖),但 没有实习也并不是必须的,对于不能实习的同学,耐心的复习好理论知识,将自己的项目 多包装包装,一样能有很好的机会。
有益效无果论是找实习还是秋招,简历投递不要太晚,最好能赶上各大公司的提前批。 写在简历上的知识以及项目一定要十分熟悉。
笔试、面试知识
笔试、面试知识
知识会的很多,但面试并不理想?
学习知识是自身的能力的提升,但笔试面试技巧也同样重要!
• 算法很重要:今年大部分的公司的笔试题难度都有所加 大,很多互联网公司面试过程中要求手写代码。(《剑
有益效指果Offer》、leetcode、微软俱乐部的每周编程题) • 操作系统:进程与线程、磁盘与缓存 • 计算机网络:TCP、UDP协议,http协议,https,加密算 法。(以博客、面经为主) • nginx与负载均衡 • IO复用,select、poll、epoll、netty • 消息中间件:Kafka
项目的选择
如何上手一个项目
对于一个准备向后台开发方向 发展的同学,第一个上手项目 最好是一个比较典型的网站: 网上商城、社交网站等。
实验室的项目 微软俱乐部的实践项目 牛客网的实践项目(收费) github开源项目
对于初次接触网站项目的同学 ,推荐SpringBoot框架(Java后 台的主流框架,集成度高容易 上手)
是否感觉到自己开发的功能代码十分臃肿? 是否感觉有很多重复性的工作? 面向对象的编程思想,合理利用接口、抽象类与泛型。
JDK源码、《大话设计模式》
基础知识积累
5、数据库进阶
了解数据库的存储及索引吗? 是不是只会使用而不知其性能的优劣? NoSQL?
《MySQL技术内幕:InnoDB存储引擎》 《Redis设计与实现》
了解Spring、SpringBoot 从博客或github获取教程 购买学习视频(牛客网)
进阶知识学习
进阶知识学习
还需要学习些什么?
学习了以上的知识,你可能已经对简单的网站业
有益效务果开发得心应手了,能够独自开发简单的网站了。
但在开发的过程中你可能并不了解程序运行的机 理,当代码的性能面出现问题时也没有有效的 方法排查。
Q&A
谢谢
基础知识积累
6、分布式入门
虽然我们在研究生阶段可能并不能接触到分布式应用的场景, 但了解分布式的知识将使我们更具竞争力,而在公司大型业 务的开发应用场景中,分布式的应用极为普遍。 当我们的服务器并发量上百万,单机显然不足以支撑,需要 由多台服务器共同运作,这其中就涉及分布式服务、分布式 存储等。 《从Paxos到Zookeeper 分布式一致性原理与实践》
相关主题