Nguồn: GoogleCareers

Muốn thực tập tại Google cần học những gì?

Bản hướng dẫn phát triển kĩ thuật của Google

Bản hướng dẫn dưới đây cung cấp mẹo và tài liệu học để giúp học viên phát triển khả năng kĩ thuật (cả học thuật lẫn bán học thuật) qua qui trình tự học, tự thực hành.

Bản hướng dẫn hướng tới đối tượng sinh viên ngành Công nghệ Thông tin đang tìm kiếm cơ hội thực tập hoặc việc làm tại Google.


Cách sử dụng bản hướng dẫn: 

  • Bạn có thể học bất kì khóa nào tùy ý, nhưng hãy chú ý đến các môn học liên quan đến chuyên ngành bạn đang học.
  • Google khuyến khích bạn học thêm cả bên ngoài bản hướng dẫn này. Biết càng nhiều kiến thức càng tốt.
  • Các tài nguyên học online Google cung cấp không dùng để thay thế các khóa học ở trường Đại học nhưng giúp bạn củng cố được kiến thức nền đến môn học.
  • Các thông tin và lời khuyên trong bản hướng dẫn này được thu thập qua quá trình làm việc cùng các sinh viên và ứng viên trong ngành. Bản hướng dẫn cập nhập theo tiến độ, kiến thức theo thời gian thực, vậy nên học viên cần cập nhật kiến thức thường xuyên.
Lưu ý: Học hết theo qui trình hướng dẫn trên không đảm bảo việc làm tại Google. Để phù hợp với tình hình học tại Việt Nam, người viết bổ sung thêm các lựa chọn lớp học tiếng Việt tương đương tại Techmaster.

Các tài liệu học tập:

Tham gia khóa học "Đại cương về Khoa học máy tính"

 

Khóa học Online:

 

Thành thạo (ít nhất) MỘT ngôn ngữ lập trình hướng đối tượng như C++, Java, Python

 

Khóa học Online trình độ dễ:

Khóa học Online trình độ trung bình:

Khóa học bằng tiếng Việt:

Học về các ngôn ngữ lập trình khácMột trong các ngôn ngữ lập trình sau:
  • JavaScript®
  • CSS & HTML
  • Ruby®
  • PHP®
  • Perl®
  • Shell® script
  • Lisp®
  • Scheme®

Khóa học Online:

Khóa học bằng Tiếng Việt:

Kiểm thử mã nguồn

 

Học cách phát hiện bugs, kiểm thử phần mềm.

Khóa học Online:

Phát triển tư duy Logic và kiến thức về toán rời rạcKhóa học Online:

Khóa học bằng tiếng Việt:

 

Phát triển tư duy hiểu sâu về cấu trúc dữ liệu và giải thuật

 

Học những kiến thức cơ bản về kiểu dữ liệu như stack, queues và bags, thuật toán sắp xếp (Quicksort, Mergesort, Heapsort), cấu trúc dữ liệu (cây nhị phân, cây đỏ-đen, bảng băm) và Big O.

Khóa học Online:

Khóa học bằng tiếng Việt:

 

Phát triển kiến thức về nguyên lý hệ điều hành và lập trình hệ thốngKhóa học Online:

UC Berkeley Computer Science 162

Học thiết kế UX (trải nghiệm người dùng)Khóa học Online:

Udacity - UX Design for Mobile Developers

Học về Trí tuệ Nhân tạoKhóa học Online:

Khóa học bằng tiếng Việt:

Học cách xây dựng trình biên dịch

Khóa học Online:  Coursera - Compilers

Học về mật mã họcKhóa học Online:
Học về parallel programmingKhóa học Online:

Coursera - Heterogeneous Parallel Programming

Xây dựng các dự án ngoài phạm vi lớp học

Tạo và duy trì một website, xây dựng server riêng, hoặc làm một robot.

Khóa học Online:

Làm việc trên hệ thống lớn (codebase), đọc và hiểu được mã nguồn, học Debug

GitHub là cách tốt nhất để xem mã nguồn người khác hoặc muốn xây dựng dự án.

Khóa học Online:

Khóa học bằng tiếng Việt:

Làm dự án theo đội

Làm việc theo đội giúp bạn phát triển khả năng làm việc hợp tác trong đội và giúp bạn học hỏi được nhiều.

Áp dụng tư duy thuật toán và kĩ thuật lập trình

 

Thực hành kiến thức giải thuật qua những cuộc thi Code như CodeJam hoặc lập trình ACM.

Link:

Trở thành trợ giảng

Việc giúp đỡ giảng dạy cho các sinh viên khác giúp bạn nắm vững kiến thức chuyên ngành đó.

Có trải nghiệm thực tập