@AnthonyPAlicea The last time I asked the same question was half a year ago
Also, it is obvious you are working on other courses, so who can tell when the `more` will release?
@AnthonyPAlicea The some content is just the basic introduction and how-to-use.
I believe the key point of the course is to dive deep into the source and truly understand it, but it seems not fully completed
How to load your websites at lightning speed?
Check out these 8 tips to boost frontend performance:
1 - Compression
Compress files and minimize data size before transmission to reduce network load.
2 - Selective Rendering/Windowing
Display only visible elements to optimize rendering performance. For example, in a dynamic list, only render visible items.
3 - Modular Architecture with Code Splitting
Split a bigger application bundle into multiple smaller bundles for efficient loading.
4 - Priority-Based Loading
Prioritize essential resources and visible (or above-the-fold) content for a better user experience.
5 - Pre-loading
Fetch resources in advance before they are requested to improve loading speed.
6 - Tree Shaking or Dead Code Removal
Optimize the final JS bundle by removing dead code that will never be used.
7 - Pre-fetching
Proactively fetch or cache resources that are likely to be needed soon.
8 - Dynamic Imports
Load code modules dynamically based on user actions to optimize the initial loading times.
Over to you: What other frontend performance tips would you add to this cheat sheet?
--
Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): https://t.co/FIzCeaWsZV
Which latency numbers you should know?
Please note those are not precise numbers. They are based on some online benchmarks (Jeff Dean’s latency numbers + some other sources).
🔹L1 and L2 caches: 1 ns, 10 ns
E.g.: They are usually built onto the microprocessor chip. Unless you work with hardware directly, you probably don’t need to worry about them.
🔹RAM access: 100 ns
E.g.: It takes around 100 ns to read data from memory. Redis is an in-memory data store, so it takes about 100 ns to read data from Redis.
🔹Send 1K bytes over 1 Gbps network: 10 us
E.g.: It takes around 10 us to send 1KB of data from Memcached through the network.
🔹Read from SSD: 100 us
E.g.: RocksDB is a disk-based K/V store, so the read latency is around 100 us on SSD.
🔹Database insert operation: 1 ms.
E.g.: Postgresql commit might take 1ms. The database needs to store the data, create the index, and flush logs. All these actions take time.
🔹Send packet CA->Netherlands->CA: 100 ms
E.g.: If we have a long-distance Zoom call, the latency might be around 100 ms.
🔹Retry/refresh internal: 1-10s
E.g: In a monitoring system, the refresh interval is usually set to 5~10 seconds.
Notes
-----
1 ns = 10^-9 seconds
1 us = 10^-6 seconds = 1,000 ns
1 ms = 10^-3 seconds = 1,000 us = 1,000,000 ns
–
Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): https://t.co/uc5M7CdXXC
A component becomes a Server Component when imported into the server environment.
Not because it:
❌ has an async keyword¹
❌ doesn't have “use client”²
❌ doesn't use hooks³
❌ has “use server”⁴
❌ Server components are the default⁵
So, how are Server Components defined?
Latest experiment: an environment inspired by those calm summer days where life just passes by... ☀️
https://t.co/5NoGesYKLm
#threejs#javascript#webgl@sidefx#houdini
This Resume helped many in getting an interview calls from companies like Google, Microsoft, Amazon, and many more. 💼
I am sharing the exact editable template for this 🤩
To get it:-
1. Follow me (MUST)
2. Like & Repost
3. Reply "Resume"
My recommended materials for cracking your next technical interview
Coding
- Leetcode
- Cracking the coding interview book
- Neetcode
System Design Interview
- System Design Interview Book 1, 2 by Alex Xu, Sahn Lam
- Grokking the system design by Design Guru
- Design Data-intensive Application book
Behavioral interview
- Tech Interview Handbook (Github repo)
- A Life Engineered (YT)
- STAR method (general method)
OOD Interview
- Interviewready
- OOD by educative
- Head First Design Patterns Book
Mock interviews
- Interviewingio
- Pramp
- Meetapro
Apply for Jobs
- Linkedin
- Monster
- Indeed
Over to you: What is your favorite interview prep material?
--
Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): https://t.co/uc5M7CdXXC
Explaining 9 types of API testing.
🔹 Smoke Testing
This is done after API development is complete. Simply validate if the APIs are working and nothing breaks.
🔹 Functional Testing
This creates a test plan based on the functional requirements and compares the results with the expected results.
🔹 Integration Testing
This test combines several API calls to perform end-to-end tests. The intra-service communications and data transmissions are tested.
🔹 Regression Testing
This test ensures that bug fixes or new features shouldn’t break the existing behaviors of APIs.
🔹 Load Testing
This tests applications’ performance by simulating different loads. Then we can calculate the capacity of the application.
🔹 Stress Testing
We deliberately create high loads to the APIs and test if the APIs are able to function normally.
🔹 Security Testing
This tests the APIs against all possible external threats.
🔹 UI Testing
This tests the UI interactions with the APIs to make sure the data can be displayed properly.
🔹 Fuzz Testing
This injects invalid or unexpected input data into the API and tries to crash the API. In this way, it identifies the API vulnerabilities.
--
Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): https://t.co/FIzCeaWsZV
6 Must Know Load Balancing Algorithms.
✅ Static Algorithms
- Round Robin
- Sticky Round Robin
- Hash
- Weighted Round Robin
✅ Dynamic Algorithms
- Least Connections
- Least Response Time
Let’s look at each algorithm in a little more detail:
👉 Round Robin
- Requests are distributed sequentially across a group of servers.
- No guarantee that multiple requests from a user will reach the same instance.
👉 Sticky Round Robin
- A better alternative to round-robin
- Different requests from the same user go to the same instance
👉 Hash-Based
- The algorithm distributes requests based on the hash of a key value.
- The key can be the IP address or the URL of the request
👉 Weighted Round Robin
- Each server gets a weight value.
- This value determines the proportion of traffic.
- Servers with higher weight receive more traffic. Good for setups having servers at different capacity levels
👉 Least Connections
- A new request is sent to the server instance with the least number of connections.
- The number of connections is determined based on the relative compute capacity of a server
👉 Least Response Time
- A new request is sent to the server with the lowest response time in order to minimize the overall response time.
- Good for cases where response time is critical.
🚀 So - which load-balancing algorithms have you used?
I've been at @Google 12 years today.
Here are 10 lessons I've learned that may help others:
1️⃣ Embrace lifelong learning
Continuous learning is the heartbeat of a thriving career. Stay endlessly curious.
Write about what you learn - the process of explaining concepts to others will deepen your own understanding and uncover gaps in your knowledge. Have the humility to admit when you don't know something, and model a growth mindset for your team. Invest in your own growth, and inspire others to do the same.
2️⃣ Put users front and center
The best engineers are user-obsessed. Let customer needs guide every decision and prioritization.
Always start with user needs and work backwards to the right solutions. Seek to understand the real human problems your work solves.
3️⃣ Collaborate to amplify impact
No engineer is an island. The most impressive feats in our field are accomplished by teams, not individuals.
Shift from a "me" to a "we" mindset. Focus on collaborating, sharing knowledge, and uplifting those around you.
4️⃣ Just start. You can edit a bad page, not a blank one.
Don't let perfectionism paralyze you. Start by taking action, even if it's not flawless.
Get your minimum viable product out there. Then, focus on doing it right. Refine your approach, fix bugs, and optimize for quality. Finally, seek ways to do it better.
5️⃣ Master the art of influence
The most effective engineers are also skilled influencers. They build bridges and buy-in.
Identify key stakeholders, decision-makers, and influencers. Understand their priorities, motivations, and communication styles.
6️⃣ Think strategically
Understand what matters most to the business and your users. Focus on outcomes over just outputs.
Develop the ability to think strategically and connect the dots across projects, teams, and organizations. Anticipate downstream implications of decisions and architecture choices.
7️⃣ Focus on what you can control
Concentrate on what's within your sphere of influence.
You can't control everything, but you can always control your response. Zero in on actions you can actually take to move forward, no matter how small.
8️⃣ Communicate with clarity
The ability to distill complexity is a hallmark of great engineers.
Strive to communicate clearly in all you do. Tailor your communication style to your audience. Seek to listen and understand first, then to be understood.
9️⃣ Build bridges, not silos
The most impactful work happens at the intersections.
Seek to understand others' perspectives, needs, and constraints. Find ways to align and create win-win solutions for everyone.
🔟 Invest in your wellbeing
Sustainable high performance requires intentional renewal. Prioritize balance and resilience.
Set boundaries. Take breaks. Craft a life of meaning and joy beyond your identity as an engineer.
I hope these lessons help others. May we continue to learn, lead, and inspire, one step at a time.
~ Addy