JavaRush
AI Academy
new
Promotion
Learning
Courses
Tasks
Quizzes
Games
Help
Schedule of nudges
Internship
Community
Users
Forum
Chat
Articles
Activities
Reviews
Subscriptions
Light theme

Lectures

  • Reviews
  • About us
  • CS50
Start
Start learning
Start learning
  • My progress
  • Courses
  • Quest map
  • Lectures
  • Non-higher non-education

    Go SELF
    12 level,0 lecture
    In this article, we break down the myths and reality of higher education: why a diploma does not guarantee success, how the role of universities is changing in today’s world, why practice matters more than theory, and what you actually need for professional growth. This material is for those who want to learn effectively and be an in-demand specialist.
    Open
  • Slices s [ a : b ]: bounds and common off-by-one issues

    Go SELF
    12 level,1 lecture
    We break down how slices work in Go through the expression s [ a : b ]: why it is a half-open interval [ a , b ), which boundary rules are checked via len and cap, how to quickly predict the result len/ cap, what shorthand forms exist ( s [: b ], s [ a :], s [:]), and how to avoid classic off-by-one mistakes and panic for no good reason.
    Open
  • Underlying array sharing

    Go SELF
    12 level,2 lecture
    We will figure out why sub-slices in Go usually share the same underlying/ backing array, how this leads to aliasing (changes “leak” between windows), why writing to sub changes s, how to see the connection via addresses ( &), why a slice in a function changes data outside, and how append together with cap can overwrite “neighboring” elements of the original slice.
    Open
  • Full slice expression s[a:b:c]

    Go SELF
    12 level,3 lecture
    We break down the three-index slice s[a:b:c] in Go: how it defines len and limits cap, why append on a sub-slice can overwrite “neighboring” elements in a shared backing array, and how the trick s[:n:n] (i.e., cap == len) makes growth behavior predictable. At the end, we cover a practical safe-view pattern and typical boundary mistakes when working with a, b, c.
    Open
  • Copying as an ownership boundary: copy and “your own buffer”

    Go SELF
    12 level,4 lecture
    We break down how slices in Go share the same backing array and why a subslice is most often just a “window” into the same memory. We will learn how to set an “ownership boundary” using copy: how many elements are actually copied, why len matters more than cap, how to make “your own buffer” via make + copy, and how to choose an API strategy: view, cap-limit, or a snapshot copy.
    Open
  • Common bugs: aliasing

    Go SELF
    12 level,5 lecture
    We break down “magic” slice bugs in Go: why two different slices can share one backing array, how append affects this, and why “extra” cap is dangerous. Using practical examples, we will see how a sub-slice overwrites the original data, why the bug “floats” from run to run, and how to fix it by limiting capacity with s [ a : b : b ] or by explicit copying using make + copy.
    Open
  • Writing code

    Go SELF
    12 level,6 lecture
    A lecture about a typical developer workday and how the task workflow is usually organized: from tracking in JIRA to commits in Git and review via Pull Request.
    Open
Learn
  • Registration
  • Java course
  • Help with tasks
  • Pricing
Community
  • Users
  • Articles
  • Forum
  • Chat
  • Activities
Company
  • About us
  • Contacts
  • Reviews
  • FAQ
  • Support
JavaRushJavaRush — is an interactive online course for learning Java programming from scratch. It contains 1200 practical tasks with one-click solution checking, the necessary minimum of theory on Java basics, and motivating features that help you complete the course: games, quizzes, interesting projects and articles on effective learning and the career of a Java developer.
Follow us
Язык интерфейса
Русский
English
Українська
"Programmers are not born" © 2026 JavaRush
MastercardVisa
"Programmers are not born" © 2026 JavaRush