A Markdown version of the Android learning roadmap organized by an old company

Source address: http://diycode.cc/topics/122

jixiaohua posted an article 一个老鸟也发了一份他给公司内部小伙伴整理的路线图. Another Android development learning roadmap . Unfortunately, it is not in MarkDown format, so the screenshots uploaded directly by jixiaohua, at the request of jixiaohua , I took some time to edit this Daniel's recommendation list into Markdown format, which is convenient for everyone to browse and learn.

Some links may not be particularly accurate, because I can only go to Google for possible books based on the name of the book or resource on the picture, so if there is anything wrong with the link, please comment and point out, and I will correct it in time. Please refer to the original text: Another Android development learning roadmap  helps modify. thanks.

  1. Basic tools part: Chinese manual, I guess it is Maven Chinese manual, but I did not find such a resource, welcome friends who know it to tell me;
  2. There is a "third-party library collection" in the Android part, but I couldn't find the resource address;
  3. Most of the books I give Douban links, if you think it is not suitable, you can replace them;

About Markdown tables

Originally, I organized a table version at the beginning, which was written by Mou, and the line breaks in the table were processed with <br/> tags, but when I posted it on DiyCode, I found that Markdown tables do not support <br/> tag line breaks. , so it can only be organized into a tiled document format.Markdown's support for tables is not very strong.

programming

1. java

(a) Basic syntax (such as inheritance, exceptions, references, generics, etc.)

(b) Multi-threading, concurrency

(c)Java 7

(d)Java 8

(e) Java Virtual Machine

(f) Performance optimization


2. Algorithms and Data Structures

  • Basic understanding of algorithm time complexity and space complexity
  • Familiar with common data structures: linked lists, queues, hash tables, trees, etc.;
  • Basic ideas such as recursion and branching;
  • Common algorithm applications: sorting, searching, comparing, etc.

3. Operating system

  • Basic knowledge of Linux/OS
  • Common Commands in Linux

4. Network

  • Http/Https
  • TCP/IP

5. Android

  • Four components (service, broadcast, ContentProvider, page container)
  • Basic UI components (ListView, ViewPager)
  • Asynchronous task mechanism (AsyncTask, Handler, thread pool)
  • Layout optimization (hierarchy, drawing, fragmentation)
  • Image loading (Bitmap, buffer)

软件工程

一、基础工具

IDE、Git、Maven

二、软件质量

  • 代码整洁
  • 码质量
  • 码重构

三、设计模式

23种常见设计模式

四、敏捷开发

五、专业开发

  • 序员职业素养
  • more efficient and effective

6. Think about life

  • Hackers and Painters  (an anthology of Paul Craham, the father of Silicon Valley entrepreneurship, mainly introduces the hobbies and motivations of hackers and excellent programmers)

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326443649&siteId=291194637