Reference:
Why does the order of the loops affect performance when iterating over a 2D array?
Understanding Buses
Think of a bus as the electronic highway on which data travels within a computer, from one component to another. This bus connects the CPU to the main memory (RAM) on the motherboard.
Assembly - Structures & How
目前很多的汇编语言教材大多都是上来先讲一大堆CPU、总线、寄存器、标志位 … 再讲汇编语言程序设计。这种字典式的编写方法对入门是很不利的,因为在不知道这些东西都是用来干什么的情况下,全部记忆往往很难。然而这些概念在编程中还不得不用到,于是又得重新往前翻书,这就陷入了一个循环。
实际上,汇编语言的学习完全可以和高级语言一样。只不过因为汇编语言是根据CPU的工作原理进行操作,所以一切代码都要从CPU和内存的角度考虑问题。理解了指令在内存层面的执行过程,编程就水到渠成了。
Design a URL Shortener
Design a URL shortener, like bit.ly.
Step 1 is to scope the project. System design questions like this are usually intentionally left open-ended, so you have to ask some questions and make some decisions about exactly what you’re building to get on the same page as your interviewer.
LC Linked List (Java)
LC 链表经典题目总结,此篇包含五题:
- 021 - Merge 2 Sorted Lists
- 083 - Remove Duplicates from Sorted List
- 206 - Reverse Linked List
- 234 - Palindrome Linked List
- 141 - Linked List Cycle
Trees & Graphs 不完全模板总结
Java Common Syntax
Java 常用操作的总结,主要用作个人备忘录,以后视情况会更新。
Normalization & Relational Database Design
Database normalization is the process of structuring a relational database in accordance with a series of so-called normal forms in order to reduce data redundancy and improve data integrity.
Reference: Normalization & Denormalization
Concurrency Concepts
Key Concepts:
- Message passing & shared memory
- Processes & threads
- Time slicing
- Race conditions
System Design Cheatsheet
Picking the right architecture = Picking the right battles + Managing trade-offs
Reference: