When I sat down for my Amazon interview, I thought -
First round hai kya hi puch lenge ๐โโ๏ธ๐
They asked ๐๐๐๐ + ๐๐๐๐ค๐ญ๐ซ๐๐๐ค๐ข๐ง๐ + ๐๐๐ฆ๐จ๐ข๐ณ๐๐ญ๐ข๐จ๐ง Que ๐๐ฃ
Socha kuch or ๐๐ก๐๐๐ญ๐๐ฅ, nikla kuch or ๐ฅ
Prepare well and don't assume they will ask easy questions.
#meme #amazon #coding #dsa #maang #interview #programming
First round hai kya hi puch lenge ๐โโ๏ธ๐
They asked ๐๐๐๐ + ๐๐๐๐ค๐ญ๐ซ๐๐๐ค๐ข๐ง๐ + ๐๐๐ฆ๐จ๐ข๐ณ๐๐ญ๐ข๐จ๐ง Que ๐๐ฃ
Socha kuch or ๐๐ก๐๐๐ญ๐๐ฅ, nikla kuch or ๐ฅ
Prepare well and don't assume they will ask easy questions.
#meme #amazon #coding #dsa #maang #interview #programming
Top LeetCode questions asked in ๐๐ฉ๐ฉ๐ฅ๐ ๐๐ง๐ญ๐๐ซ๐ฏ๐ข๐๐ฐ๐ฌ for ๐๐๐ Role โค๏ธ
- Move Zeroes
- https://lnkd.in/dWrM3guU
- 3Sum [7 times]
- https://lnkd.in/d_vhP7X8
- Reverse Integer
- https://lnkd.in/dakwsvz9
- Roman to Integer
- https://lnkd.in/d3wrkWAb
- Two Sum [32 times]
- https://lnkd.in/dz-nQabK
- Contains Duplicate
- https://lnkd.in/dSGzKSpr
- Word Break [9 times]
- https://lnkd.in/dTyrvmrd
- Trapping Rain Water
- https://lnkd.in/dseQCGsV
- Longest Common Prefix
- https://lnkd.in/dinx-Rxz
- Permutations [7 times]
- https://lnkd.in/gHzEEqw3
- First Missing Positive
- https://lnkd.in/dniF7c7g
- Search Insert Position
- https://lnkd.in/dZwwnapr
- Word Search II [7 times]
- https://lnkd.in/dAV9Xg24
- Merge Intervals [9 times]
- https://lnkd.in/dvQYHsQf
- Group Anagrams [11 times]
- https://lnkd.in/d9wXHgK9
- Maximum Subarray [8 times]
- https://lnkd.in/d8t24BMj
- Container With Most Water
- https://lnkd.in/d866PPSK
- Valid Parentheses [10 times]
- https://lnkd.in/d2qy5P9D
- Number of Islands [13 times]
- https://lnkd.in/dEcneG2G
- Product of Array Except Self
- https://lnkd.in/d4UZTW7G
- Reverse Linked List [11 times]
- https://lnkd.in/dVmKdqvP
- Search in Rotated Sorted Array
- https://lnkd.in/dAnewRjw
- Longest Common Prefix [7 times]
- https://lnkd.in/gG6J3N6v
- Median of Two Sorted Arrays [9 times]
- https://lnkd.in/dtF7QHsY
- Product of Array Except Self [8 times]
- https://lnkd.in/ddtJrVQX
- Longest Palindromic Substring [6 times]
- https://lnkd.in/dFpK7Vbu
- Longest Substring Without Repeating Characters [7 times]
- https://lnkd.in/dAr9a5Ny
If you find it useful, give it a like and save it. Feel free to comment with your thoughts and queries. Also share it with your friends and colleagues out there. Don't forget to save this Post.
Follow Mohit Sehrawat for more.
Happy learning! ๐
๐๐๐ฌ๐ก๐ญ๐๐ ๐ฌ:
#coding #datastructures #algorithms #apple #interview #leetcode #programming #interviewpreparation
- Move Zeroes
- https://lnkd.in/dWrM3guU
- 3Sum [7 times]
- https://lnkd.in/d_vhP7X8
- Reverse Integer
- https://lnkd.in/dakwsvz9
- Roman to Integer
- https://lnkd.in/d3wrkWAb
- Two Sum [32 times]
- https://lnkd.in/dz-nQabK
- Contains Duplicate
- https://lnkd.in/dSGzKSpr
- Word Break [9 times]
- https://lnkd.in/dTyrvmrd
- Trapping Rain Water
- https://lnkd.in/dseQCGsV
- Longest Common Prefix
- https://lnkd.in/dinx-Rxz
- Permutations [7 times]
- https://lnkd.in/gHzEEqw3
- First Missing Positive
- https://lnkd.in/dniF7c7g
- Search Insert Position
- https://lnkd.in/dZwwnapr
- Word Search II [7 times]
- https://lnkd.in/dAV9Xg24
- Merge Intervals [9 times]
- https://lnkd.in/dvQYHsQf
- Group Anagrams [11 times]
- https://lnkd.in/d9wXHgK9
- Maximum Subarray [8 times]
- https://lnkd.in/d8t24BMj
- Container With Most Water
- https://lnkd.in/d866PPSK
- Valid Parentheses [10 times]
- https://lnkd.in/d2qy5P9D
- Number of Islands [13 times]
- https://lnkd.in/dEcneG2G
- Product of Array Except Self
- https://lnkd.in/d4UZTW7G
- Reverse Linked List [11 times]
- https://lnkd.in/dVmKdqvP
- Search in Rotated Sorted Array
- https://lnkd.in/dAnewRjw
- Longest Common Prefix [7 times]
- https://lnkd.in/gG6J3N6v
- Median of Two Sorted Arrays [9 times]
- https://lnkd.in/dtF7QHsY
- Product of Array Except Self [8 times]
- https://lnkd.in/ddtJrVQX
- Longest Palindromic Substring [6 times]
- https://lnkd.in/dFpK7Vbu
- Longest Substring Without Repeating Characters [7 times]
- https://lnkd.in/dAr9a5Ny
If you find it useful, give it a like and save it. Feel free to comment with your thoughts and queries. Also share it with your friends and colleagues out there. Don't forget to save this Post.
Follow Mohit Sehrawat for more.
Happy learning! ๐
๐๐๐ฌ๐ก๐ญ๐๐ ๐ฌ:
#coding #datastructures #algorithms #apple #interview #leetcode #programming #interviewpreparation
LinkedIn
LinkedIn: Log In or Sign Up
1 billion members | Manage your professional identity. Build and engage with your professional network. Access knowledge, insights and opportunities.
๐ฅ2
5 ๐๐ซ๐๐ ๐๐จ๐ฎ๐ซ๐ฌ๐๐ฌ ๐ญ๐ก๐๐ญโ๐ฅ๐ฅ ๐ก๐๐ฅ๐ฉ ๐ฅ๐๐๐ซ๐ง #javascript 10๐ฑ ๐๐๐ญ๐ญ๐๐ซ ๐ญ๐ก๐๐ง ๐ญ๐ก๐ ๐๐๐ข๐ ๐จ๐ง๐๐ฌ๐คฉ
๐ด๐๐๐ ๐บ๐๐๐ ๐๐๐ ๐บ๐๐๐๐ !!!!
1) ๐๐๐๐ซ๐ง ๐๐๐ฏ๐๐๐๐ซ๐ข๐ฉ๐ญ ๐๐ฒ ๐๐๐ซ๐ข๐ฆ๐๐
๐ This is perhaps the most interactive JavaScript course ever recorded.
It contains 140+ coding challenges, meaning that you will finally build that ever-so-important JavaScript muscle memory.
๐ https://lnkd.in/gkUvjJXC
2) ๐๐๐ฏ๐๐๐๐ซ๐ข๐ฉ๐ญ ๐๐ฎ๐ญ๐จ๐ซ๐ข๐๐ฅ ๐๐จ๐ซ ๐๐๐ ๐ข๐ง๐ง๐๐ซ๐ฌ - ๐ ๐ฎ๐ฅ๐ฅ ๐๐จ๐ฎ๐ซ๐ฌ๐ ๐ข๐ง 12 ๐๐จ๐ฎ๐ซ๐ฌ (2022)
๐ Best Free JavaScript Programming Course by Clever programmer
๐ https://lnkd.in/gR-Ki4Uk
3) ๐๐๐๐ ๐๐๐ฏ๐๐๐๐ซ๐ข๐ฉ๐ญ ๐๐ฎ๐ญ๐จ๐ซ๐ข๐๐ฅ ๐๐จ๐ซ ๐๐๐ ๐ข๐ง๐ง๐๐ซ๐ฌ ๐๐จ๐ซ ๐๐๐ญ๐ญ๐ข๐ง๐ ๐ ๐๐จ๐ (๐๐ข๐ ๐ก ๐๐ฎ๐๐ฅ๐ข๐ญ๐ฒ, ๐๐ซ๐จ๐ฃ๐๐๐ญ ๐๐๐ฌ๐๐ ๐๐จ๐ฎ๐ซ๐ฌ๐)
๐ Build a full app in this JavaScript tutorial, designed to help new programmers get into the tech industry. Exercises, code, cheatsheet.
๐ https://lnkd.in/gVXqp2ZY
4) ๐๐๐ฏ๐๐๐๐ซ๐ข๐ฉ๐ญ ๐ ๐ฎ๐ฅ๐ฅ ๐๐จ๐ฎ๐ซ๐ฌ๐ 2022 ๐๐ฒ ๐๐ข๐ฆ๐ฉ๐ฅ๐ข๐ฅ๐๐๐ซ๐ง
๐ This javascript tutorial for beginners focuses and major fundamentals to help you secure the right skills, tips, and tricks to be industry-ready according to the current IT standards.
๐ https://lnkd.in/gVnc9fvn
5) JavaScript Crash Course by Codevolution
๐ This course will teach JavaScript from the bottom to the top.
Itโs a gem!
๐ https://lnkd.in/gcPNGJGD
for more such content.
#learningeveryday #javascriptdeveloper #javascript #frontend #react #developer #programming #learning #softwareengineering #coding #tech #engineering #engineer
๐ด๐๐๐ ๐บ๐๐๐ ๐๐๐ ๐บ๐๐๐๐ !!!!
1) ๐๐๐๐ซ๐ง ๐๐๐ฏ๐๐๐๐ซ๐ข๐ฉ๐ญ ๐๐ฒ ๐๐๐ซ๐ข๐ฆ๐๐
๐ This is perhaps the most interactive JavaScript course ever recorded.
It contains 140+ coding challenges, meaning that you will finally build that ever-so-important JavaScript muscle memory.
๐ https://lnkd.in/gkUvjJXC
2) ๐๐๐ฏ๐๐๐๐ซ๐ข๐ฉ๐ญ ๐๐ฎ๐ญ๐จ๐ซ๐ข๐๐ฅ ๐๐จ๐ซ ๐๐๐ ๐ข๐ง๐ง๐๐ซ๐ฌ - ๐ ๐ฎ๐ฅ๐ฅ ๐๐จ๐ฎ๐ซ๐ฌ๐ ๐ข๐ง 12 ๐๐จ๐ฎ๐ซ๐ฌ (2022)
๐ Best Free JavaScript Programming Course by Clever programmer
๐ https://lnkd.in/gR-Ki4Uk
3) ๐๐๐๐ ๐๐๐ฏ๐๐๐๐ซ๐ข๐ฉ๐ญ ๐๐ฎ๐ญ๐จ๐ซ๐ข๐๐ฅ ๐๐จ๐ซ ๐๐๐ ๐ข๐ง๐ง๐๐ซ๐ฌ ๐๐จ๐ซ ๐๐๐ญ๐ญ๐ข๐ง๐ ๐ ๐๐จ๐ (๐๐ข๐ ๐ก ๐๐ฎ๐๐ฅ๐ข๐ญ๐ฒ, ๐๐ซ๐จ๐ฃ๐๐๐ญ ๐๐๐ฌ๐๐ ๐๐จ๐ฎ๐ซ๐ฌ๐)
๐ Build a full app in this JavaScript tutorial, designed to help new programmers get into the tech industry. Exercises, code, cheatsheet.
๐ https://lnkd.in/gVXqp2ZY
4) ๐๐๐ฏ๐๐๐๐ซ๐ข๐ฉ๐ญ ๐ ๐ฎ๐ฅ๐ฅ ๐๐จ๐ฎ๐ซ๐ฌ๐ 2022 ๐๐ฒ ๐๐ข๐ฆ๐ฉ๐ฅ๐ข๐ฅ๐๐๐ซ๐ง
๐ This javascript tutorial for beginners focuses and major fundamentals to help you secure the right skills, tips, and tricks to be industry-ready according to the current IT standards.
๐ https://lnkd.in/gVnc9fvn
5) JavaScript Crash Course by Codevolution
๐ This course will teach JavaScript from the bottom to the top.
Itโs a gem!
๐ https://lnkd.in/gcPNGJGD
for more such content.
#learningeveryday #javascriptdeveloper #javascript #frontend #react #developer #programming #learning #softwareengineering #coding #tech #engineering #engineer
Scrimba
Learn JavaScript for free - 7-hour interactive tutorial
Learn the basics of JavaScript by solving 140+ interactive coding challenges and building three fun projects.
Top LeetCode questions asked in Google Interviews for SDE role (PART-1) ๐
๐ Please don't ignore this post, it took a lot of effort & time to research & create this post. Many of us are preparing for the interviews to get placed in top product-based companies and #Leetcode is one of the good platforms to practice the #DSA questions.
๐Here is a list of questions (Part-1) which recently asked by Google during the interviews. The questions and their respective links are in the same order. The content source is the Internet and Leetcode.
โพQUESTIONS :-
- H-Index
- Poor Pigs
- Valid Square
- Decode String
- Text Justification
- Battleships in a Board
- Minimum Time Difference
- Longest Absolute File Path
- Student Attendance Record II
- Evaluate Reverse Polish Notation
- Longest Increasing Path in a Matrix
โพLinks:-
- https://lnkd.in/dVy49_Nr
- https://lnkd.in/daX_YFyX
- https://lnkd.in/dvq8H_2w
- https://lnkd.in/dDpYv6G5
- https://lnkd.in/dYNWn5N3
- https://lnkd.in/d29shXsD
- https://lnkd.in/dGAuhsvh
- https://lnkd.in/dHD-2TVZ
- https://lnkd.in/dbnqgbkA
- https://lnkd.in/dCX4BzSE
- https://lnkd.in/dmEWHdSd
๐ If you find it useful, give it a like and save it. Feel free to comment with your thoughts and queries. Don't forget to save this Post. Also share it with your friends and colleagues out there.๐ญ
tags-
#coding #datastructures #algorithms #google #interview #computerscience #softwareengineer #data #programming
๐ Please don't ignore this post, it took a lot of effort & time to research & create this post. Many of us are preparing for the interviews to get placed in top product-based companies and #Leetcode is one of the good platforms to practice the #DSA questions.
๐Here is a list of questions (Part-1) which recently asked by Google during the interviews. The questions and their respective links are in the same order. The content source is the Internet and Leetcode.
โพQUESTIONS :-
- H-Index
- Poor Pigs
- Valid Square
- Decode String
- Text Justification
- Battleships in a Board
- Minimum Time Difference
- Longest Absolute File Path
- Student Attendance Record II
- Evaluate Reverse Polish Notation
- Longest Increasing Path in a Matrix
โพLinks:-
- https://lnkd.in/dVy49_Nr
- https://lnkd.in/daX_YFyX
- https://lnkd.in/dvq8H_2w
- https://lnkd.in/dDpYv6G5
- https://lnkd.in/dYNWn5N3
- https://lnkd.in/d29shXsD
- https://lnkd.in/dGAuhsvh
- https://lnkd.in/dHD-2TVZ
- https://lnkd.in/dbnqgbkA
- https://lnkd.in/dCX4BzSE
- https://lnkd.in/dmEWHdSd
๐ If you find it useful, give it a like and save it. Feel free to comment with your thoughts and queries. Don't forget to save this Post. Also share it with your friends and colleagues out there.๐ญ
tags-
#coding #datastructures #algorithms #google #interview #computerscience #softwareengineer #data #programming
LinkedIn
LinkedIn: Log In or Sign Up
1 billion members | Manage your professional identity. Build and engage with your professional network. Access knowledge, insights and opportunities.
REST APIs: The foundation of modern web development
As a software engineer, I have always been passionate about sharing my knowledge and helping others to understand complex technical concepts. That's why I was so excited to create this small presentation on REST API.
For those who may not know, a REST API (which stands for Representational State Transfer API) is a way for different software systems to communicate with each other through the internet.
It's a crucial component of modern software development, and something that every aspiring developer should understand.
Imagine you're trying to book a flight online. When you search for flights and enter your preferences, the website sends a request to the airline's computer system to find available flights that match your criteria. The airline's system then sends a response back to the website with the available flights, and you can choose one to book. This interaction between the website and the airline's system is made possible through a REST API.
There are five main methods used in a REST API:
GET - retrieves a specific resource or collection of resources
POST - creates a new resource
PUT - updates an existing resource
DELETE - removes a specific resource
PATCH - partially updates an existing resource
The response from a REST API can either be a success or an error. A success response typically includes the requested information or a message confirming that the requested action was completed. An error response includes a message explaining why the request could not be completed.
Overall, a REST API is a crucial tool for allowing different software systems to communicate with each other and exchange information seamlessly.
If you're working with software systems or just want to understand how different websites and apps work together, it's important to understand the basics of REST APIs.
I know firsthand how confusing and overwhelming it can be to learn about new technologies, especially when you're just starting out in the field. That's why I wanted to create this presentation - to provide a clear, concise, and easy-to-understand explanation of what a REST API is and how it works.
I hope that this presentation will be helpful to those who are new to software development, or who are simply looking to learn more about APIs. And I plan to keep creating more such documents in the future, so that all the needy and new enthusiasts out there can benefit from my knowledge and experience.
So if you're interested in learning more about APIs, or if you have any questions or feedback about this presentation, please don't hesitate to reach out. I'm always happy to help, and I'm committed to doing my part to make the world of software development more accessible and understandable to everyone.
๐ If you like my posts, please follow https://www.linkedin.com/in/aman-raj-6168b616a ๐บ๐ธ ๐๐ and hit the ๐ on my profile to get a notification for all my new posts.
#programming #coding #softwareengineering
As a software engineer, I have always been passionate about sharing my knowledge and helping others to understand complex technical concepts. That's why I was so excited to create this small presentation on REST API.
For those who may not know, a REST API (which stands for Representational State Transfer API) is a way for different software systems to communicate with each other through the internet.
It's a crucial component of modern software development, and something that every aspiring developer should understand.
Imagine you're trying to book a flight online. When you search for flights and enter your preferences, the website sends a request to the airline's computer system to find available flights that match your criteria. The airline's system then sends a response back to the website with the available flights, and you can choose one to book. This interaction between the website and the airline's system is made possible through a REST API.
There are five main methods used in a REST API:
GET - retrieves a specific resource or collection of resources
POST - creates a new resource
PUT - updates an existing resource
DELETE - removes a specific resource
PATCH - partially updates an existing resource
The response from a REST API can either be a success or an error. A success response typically includes the requested information or a message confirming that the requested action was completed. An error response includes a message explaining why the request could not be completed.
Overall, a REST API is a crucial tool for allowing different software systems to communicate with each other and exchange information seamlessly.
If you're working with software systems or just want to understand how different websites and apps work together, it's important to understand the basics of REST APIs.
I know firsthand how confusing and overwhelming it can be to learn about new technologies, especially when you're just starting out in the field. That's why I wanted to create this presentation - to provide a clear, concise, and easy-to-understand explanation of what a REST API is and how it works.
I hope that this presentation will be helpful to those who are new to software development, or who are simply looking to learn more about APIs. And I plan to keep creating more such documents in the future, so that all the needy and new enthusiasts out there can benefit from my knowledge and experience.
So if you're interested in learning more about APIs, or if you have any questions or feedback about this presentation, please don't hesitate to reach out. I'm always happy to help, and I'm committed to doing my part to make the world of software development more accessible and understandable to everyone.
๐ If you like my posts, please follow https://www.linkedin.com/in/aman-raj-6168b616a ๐บ๐ธ ๐๐ and hit the ๐ on my profile to get a notification for all my new posts.
#programming #coding #softwareengineering
One Diagram to Remember for C๐ผ๐ฑ๐ฒ R๐ฒ๐๐ถ๐ฒ๐๐
An essential step in the software development lifecycle is code review. Code reviews are powerful means to improve code quality, establish best practices, opportunity to learn, and knowledge sharing and mentoring, as well as promotes team cohesion.
What to look for in a code review? Try to look for things such as ๐ฑ๐ฒ๐๐ถ๐ด๐ป (does this integrate well with the rest of the system and are interactions of different components make sense), ๐ณ๐๐ป๐ฐ๐๐ถ๐ผ๐ป๐ฎ๐น๐ถ๐๐ (does this change is what the developer intended), ๐ฐ๐ผ๐บ๐ฝ๐น๐ฒ๐ ๐ถ๐๐ (is this code more complex than it should be), ๐ป๐ฎ๐บ๐ถ๐ป๐ด (is naming good?), ๐ฒ๐ป๐ด. ๐ฝ๐ฟ๐ถ๐ป๐ฐ๐ถ๐ฝ๐น๐ฒ๐ (solid, kiss, dry), ๐๐ฒ๐๐๐ (are different kinds of tests used appropriately, code coverage), ๐๐๐๐น๐ฒ (does it follow style guidelines), ๐ฑ๐ผ๐ฐ๐๐บ๐ฒ๐ป๐๐ฎ๐๐ถ๐ผ๐ป, etc.
Code review is a conversation, not a queue of commands.
Code review checklist
A checklist helps you to create a structured approach to code reviews. Also, they remind you of all the quality checks you need to perform to approve code into the codebase.
๐ญ. ๐ง๐ฟ๐ ๐๐ผ ๐ฟ๐ฒ๐๐ถ๐ฒ๐ ๐๐ผ๐๐ฟ ๐ผ๐๐ป ๐ฐ๐ผ๐ฑ๐ฒ ๐ณ๐ถ๐ฟ๐๐
Before sending a code to your colleagues, try to read and understand it first. Then, search for parts that confuse you.
๐ฎ. ๐ช๐ฟ๐ถ๐๐ฒ ๐ฎ ๐๐ต๐ผ๐ฟ๐ ๐ฑ๐ฒ๐๐ฐ๐ฟ๐ถ๐ฝ๐๐ถ๐ผ๐ป ๐ผ๐ณ ๐๐ต๐ฎ๐ ๐ถ๐ ๐ฐ๐ต๐ฎ๐ป๐ด๐ฒ๐ฑ
It should explain what changes were at a high level and why those changes were made.
๐ฏ. ๐๐๐๐ผ๐บ๐ฎ๐๐ฒ ๐๐ต๐ฎ๐ ๐ฐ๐ฎ๐ป ๐ฏ๐ฒ ๐ฎ๐๐๐ผ๐บ๐ฎ๐๐ฒ๐ฑ
Leave to the system everything that can be automated,
PMD, FindBugs, and Checkstyle are the most popular open-source code analyzers,
Jenkins for CI-CD some code smells and bugs (SonarQube).
๐ฐ. ๐๐ผ๐ป'๐ ๐ฟ๐๐๐ต
You need to understand what is changed in every line of it. Read multiple times if required, class by class.
๐ฑ. ๐๐ผ๐บ๐บ๐ฒ๐ป๐ ๐๐ถ๐๐ต ๐ธ๐ถ๐ป๐ฑ๐ป๐ฒ๐๐
Never mention the person (you), always focus on changes as questions or suggestions and leave at least one positive comment. Explain the "why" in your comments and suggestions for improving it.
๐ฒ. ๐๐ฝ๐ฝ๐ฟ๐ผ๐๐ฒ ๐ฃ๐ฅ ๐๐ต๐ฒ๐ป ๐ถ๐๐ ๐ด๐ผ๐ผ๐ฑ ๐ฒ๐ป๐ผ๐๐ด๐ต
Don't strive for perfection, but hold to high standards. Don't be a nitpicker.
๐ณ. ๐ ๐ฎ๐ธ๐ฒ ๐ฟ๐ฒ๐๐ถ๐ฒ๐๐ ๐บ๐ฎ๐ป๐ฎ๐ด๐ฒ๐ฎ๐ฏ๐น๐ฒ ๐ถ๐ป ๐๐ถ๐๐ฒ
We should limit the number of lines of code for review in one sitting. Our brains cannot process so much information at once. The ideal number of LOC is 200 to 400 lines of the core at one time, which is usually 60 to 90 minutes.
8) Review logic, not semicolons
Automation reduces the needless checks and let's you focus on the logic behind the changes rather than syntax errors and typos.
What is your code review process? What works for you, and what does not?
Image credit (Code Review Pyramid): Gunnar Morling
#softwareengineering #programming #systemdesign #developers #bestpractice #coders #software #review #codereview
An essential step in the software development lifecycle is code review. Code reviews are powerful means to improve code quality, establish best practices, opportunity to learn, and knowledge sharing and mentoring, as well as promotes team cohesion.
What to look for in a code review? Try to look for things such as ๐ฑ๐ฒ๐๐ถ๐ด๐ป (does this integrate well with the rest of the system and are interactions of different components make sense), ๐ณ๐๐ป๐ฐ๐๐ถ๐ผ๐ป๐ฎ๐น๐ถ๐๐ (does this change is what the developer intended), ๐ฐ๐ผ๐บ๐ฝ๐น๐ฒ๐ ๐ถ๐๐ (is this code more complex than it should be), ๐ป๐ฎ๐บ๐ถ๐ป๐ด (is naming good?), ๐ฒ๐ป๐ด. ๐ฝ๐ฟ๐ถ๐ป๐ฐ๐ถ๐ฝ๐น๐ฒ๐ (solid, kiss, dry), ๐๐ฒ๐๐๐ (are different kinds of tests used appropriately, code coverage), ๐๐๐๐น๐ฒ (does it follow style guidelines), ๐ฑ๐ผ๐ฐ๐๐บ๐ฒ๐ป๐๐ฎ๐๐ถ๐ผ๐ป, etc.
Code review is a conversation, not a queue of commands.
Code review checklist
A checklist helps you to create a structured approach to code reviews. Also, they remind you of all the quality checks you need to perform to approve code into the codebase.
๐ญ. ๐ง๐ฟ๐ ๐๐ผ ๐ฟ๐ฒ๐๐ถ๐ฒ๐ ๐๐ผ๐๐ฟ ๐ผ๐๐ป ๐ฐ๐ผ๐ฑ๐ฒ ๐ณ๐ถ๐ฟ๐๐
Before sending a code to your colleagues, try to read and understand it first. Then, search for parts that confuse you.
๐ฎ. ๐ช๐ฟ๐ถ๐๐ฒ ๐ฎ ๐๐ต๐ผ๐ฟ๐ ๐ฑ๐ฒ๐๐ฐ๐ฟ๐ถ๐ฝ๐๐ถ๐ผ๐ป ๐ผ๐ณ ๐๐ต๐ฎ๐ ๐ถ๐ ๐ฐ๐ต๐ฎ๐ป๐ด๐ฒ๐ฑ
It should explain what changes were at a high level and why those changes were made.
๐ฏ. ๐๐๐๐ผ๐บ๐ฎ๐๐ฒ ๐๐ต๐ฎ๐ ๐ฐ๐ฎ๐ป ๐ฏ๐ฒ ๐ฎ๐๐๐ผ๐บ๐ฎ๐๐ฒ๐ฑ
Leave to the system everything that can be automated,
PMD, FindBugs, and Checkstyle are the most popular open-source code analyzers,
Jenkins for CI-CD some code smells and bugs (SonarQube).
๐ฐ. ๐๐ผ๐ป'๐ ๐ฟ๐๐๐ต
You need to understand what is changed in every line of it. Read multiple times if required, class by class.
๐ฑ. ๐๐ผ๐บ๐บ๐ฒ๐ป๐ ๐๐ถ๐๐ต ๐ธ๐ถ๐ป๐ฑ๐ป๐ฒ๐๐
Never mention the person (you), always focus on changes as questions or suggestions and leave at least one positive comment. Explain the "why" in your comments and suggestions for improving it.
๐ฒ. ๐๐ฝ๐ฝ๐ฟ๐ผ๐๐ฒ ๐ฃ๐ฅ ๐๐ต๐ฒ๐ป ๐ถ๐๐ ๐ด๐ผ๐ผ๐ฑ ๐ฒ๐ป๐ผ๐๐ด๐ต
Don't strive for perfection, but hold to high standards. Don't be a nitpicker.
๐ณ. ๐ ๐ฎ๐ธ๐ฒ ๐ฟ๐ฒ๐๐ถ๐ฒ๐๐ ๐บ๐ฎ๐ป๐ฎ๐ด๐ฒ๐ฎ๐ฏ๐น๐ฒ ๐ถ๐ป ๐๐ถ๐๐ฒ
We should limit the number of lines of code for review in one sitting. Our brains cannot process so much information at once. The ideal number of LOC is 200 to 400 lines of the core at one time, which is usually 60 to 90 minutes.
8) Review logic, not semicolons
Automation reduces the needless checks and let's you focus on the logic behind the changes rather than syntax errors and typos.
What is your code review process? What works for you, and what does not?
Image credit (Code Review Pyramid): Gunnar Morling
#softwareengineering #programming #systemdesign #developers #bestpractice #coders #software #review #codereview
Stay ahead of the curve in 2023 by learning GraphQL: the modern, flexible alternative to REST APIs.
As we gear up for another new year, I wanted to share some thoughts on a topic that I think will be crucial for developers in 2023: GraphQL.
If you're not already familiar with GraphQL, it's a query language for your API that allows clients to request exactly the data they need, and nothing more. This means that you can get all the data you need in a single request, rather than having to make multiple API calls to get all the data you need.
But why is this important? Well, for one thing, GraphQL can help improve the performance of your applications. With REST APIs, you often have to make multiple API calls to get all the data you need, which can be slow and resource-intensive.
With GraphQL, you can get all the data you need in a single request, which can greatly improve the performance of your application.
Another reason to learn GraphQL is that it can help improve the flexibility of your API. With REST APIs, you often have to design your API around the needs of your clients. This can be a problem if your clients have very different data needs, as you may have to design multiple endpoints to accommodate them all.
With GraphQL, clients can request exactly the data they need, which makes it much easier to design a flexible API that can accommodate a wide range of client needs.
So if you're a developer looking to stay on top of the latest trends in the field, learning GraphQL is definitely worth considering in 2023.
And if you're not familiar with the difference between REST APIs and GraphQL, the attached illustration should help demystify things for you.
Wishing you a very successful year ahead!
I hope this helps! Let me know if you have any questions or need further clarification.
๐ If you like my posts, please follow https://www.linkedin.com/in/aman-raj-6168b616a ๐บ๐ธ ๐๐ and hit the ๐ on my profile to get a notification for all my new posts.
#programming #coding #softwareengineering #api #graphql #developer
As we gear up for another new year, I wanted to share some thoughts on a topic that I think will be crucial for developers in 2023: GraphQL.
If you're not already familiar with GraphQL, it's a query language for your API that allows clients to request exactly the data they need, and nothing more. This means that you can get all the data you need in a single request, rather than having to make multiple API calls to get all the data you need.
But why is this important? Well, for one thing, GraphQL can help improve the performance of your applications. With REST APIs, you often have to make multiple API calls to get all the data you need, which can be slow and resource-intensive.
With GraphQL, you can get all the data you need in a single request, which can greatly improve the performance of your application.
Another reason to learn GraphQL is that it can help improve the flexibility of your API. With REST APIs, you often have to design your API around the needs of your clients. This can be a problem if your clients have very different data needs, as you may have to design multiple endpoints to accommodate them all.
With GraphQL, clients can request exactly the data they need, which makes it much easier to design a flexible API that can accommodate a wide range of client needs.
So if you're a developer looking to stay on top of the latest trends in the field, learning GraphQL is definitely worth considering in 2023.
And if you're not familiar with the difference between REST APIs and GraphQL, the attached illustration should help demystify things for you.
Wishing you a very successful year ahead!
I hope this helps! Let me know if you have any questions or need further clarification.
๐ If you like my posts, please follow https://www.linkedin.com/in/aman-raj-6168b616a ๐บ๐ธ ๐๐ and hit the ๐ on my profile to get a notification for all my new posts.
#programming #coding #softwareengineering #api #graphql #developer
๐ช๐ต๐ฎ๐ ๐ถ๐ ๐๐ฟ๐ผ๐๐-๐ข๐ฟ๐ถ๐ด๐ถ๐ป ๐ฅ๐ฒ๐๐ผ๐๐ฟ๐ฐ๐ฒ ๐ฆ๐ต๐ฎ๐ฟ๐ถ๐ป๐ด (๐๐ข๐ฅ๐ฆ)?
Browsers use CORS, a method, to prevent websites from requesting data from different URLs. A request from a browser includes an origin header in the request message. The browser allows it if it gets to the server of the exact origin; if not, the browser blocks it.
We can deal with CORS issues on the backend. Cross-origin requests require that the values for origin and ๐๐ฐ๐ฐ๐ฒ๐๐-๐๐ผ๐ป๐๐ฟ๐ผ๐น-๐๐น๐น๐ผ๐-๐ข๐ฟ๐ถ๐ด๐ถ๐ป in the response headers match and it is set by the server. When you add an origin to the backend code, the CORS middleware only permits this URL to communicate with other origins and utilize it for cross-origin resource requests.
There are two ways to fix CORS issues:
๐ญ. ๐๐ผ๐ป๐ณ๐ถ๐ด๐๐ฟ๐ฒ ๐๐ต๐ฒ ๐๐ฎ๐ฐ๐ธ๐ฒ๐ป๐ฑ ๐๐ผ ๐๐น๐น๐ผ๐ ๐๐ข๐ฅ๐ฆ
Server can let all domains with ๐๐ฐ๐ฐ๐ฒ๐๐-๐๐ผ๐ป๐๐ฟ๐ผ๐น-๐๐น๐น๐ผ๐-๐ข๐ฟ๐ถ๐ด๐ถ๐ป: *. This actually turns off same-origin policy, which is not recommended. Another option would be only to allow particular domain, which is better option, e.g., ๐๐ฐ๐ฐ๐ฒ๐๐-๐๐ผ๐ป๐๐ฟ๐ผ๐น-๐๐น๐น๐ผ๐-๐ข๐ฟ๐ถ๐ด๐ถ๐ป: ๐ต๐๐๐ฝ๐://๐๐ผ๐บ๐ฒ๐ฑ๐ผ๐บ๐ฎ๐ถ๐ป.๐ฐ๐ผ๐บ.
๐ฎ. ๐จ๐๐ฒ ๐ฎ ๐ฃ๐ฟ๐ผ๐ ๐ ๐ฆ๐ฒ๐ฟ๐๐ฒ๐ฟ
We can use a proxy server to call external API. It acts as a middleware between client and the server. If server doesn't return proper headers defined by CORS, we can add then in the proxy.
#softwareengineering #programming #api #apidesign
Browsers use CORS, a method, to prevent websites from requesting data from different URLs. A request from a browser includes an origin header in the request message. The browser allows it if it gets to the server of the exact origin; if not, the browser blocks it.
We can deal with CORS issues on the backend. Cross-origin requests require that the values for origin and ๐๐ฐ๐ฐ๐ฒ๐๐-๐๐ผ๐ป๐๐ฟ๐ผ๐น-๐๐น๐น๐ผ๐-๐ข๐ฟ๐ถ๐ด๐ถ๐ป in the response headers match and it is set by the server. When you add an origin to the backend code, the CORS middleware only permits this URL to communicate with other origins and utilize it for cross-origin resource requests.
There are two ways to fix CORS issues:
๐ญ. ๐๐ผ๐ป๐ณ๐ถ๐ด๐๐ฟ๐ฒ ๐๐ต๐ฒ ๐๐ฎ๐ฐ๐ธ๐ฒ๐ป๐ฑ ๐๐ผ ๐๐น๐น๐ผ๐ ๐๐ข๐ฅ๐ฆ
Server can let all domains with ๐๐ฐ๐ฐ๐ฒ๐๐-๐๐ผ๐ป๐๐ฟ๐ผ๐น-๐๐น๐น๐ผ๐-๐ข๐ฟ๐ถ๐ด๐ถ๐ป: *. This actually turns off same-origin policy, which is not recommended. Another option would be only to allow particular domain, which is better option, e.g., ๐๐ฐ๐ฐ๐ฒ๐๐-๐๐ผ๐ป๐๐ฟ๐ผ๐น-๐๐น๐น๐ผ๐-๐ข๐ฟ๐ถ๐ด๐ถ๐ป: ๐ต๐๐๐ฝ๐://๐๐ผ๐บ๐ฒ๐ฑ๐ผ๐บ๐ฎ๐ถ๐ป.๐ฐ๐ผ๐บ.
๐ฎ. ๐จ๐๐ฒ ๐ฎ ๐ฃ๐ฟ๐ผ๐ ๐ ๐ฆ๐ฒ๐ฟ๐๐ฒ๐ฟ
We can use a proxy server to call external API. It acts as a middleware between client and the server. If server doesn't return proper headers defined by CORS, we can add then in the proxy.
#softwareengineering #programming #api #apidesign
๐ Empower your career with data engineering skills and secure your dream job in this growing fieldโ๏ธ
โ๏ธ After receiving a lot of queries, I've made some revisions to my original suggestion and I highly recommend following this exact sequence. Trust me, it will make things much easier for you.
โป๏ธ It's easy to get lost in the vast amount of information available when it comes to learning new skills, especially in the field of data engineering.
๐ However, with a solid roadmap and some dedication, it is possible to enter the field of data engineering in 2023.
Here are some steps you can follow to make sure you're on the right track -
๐ถ Learn RDBMS, NoSQL databases, SQL, and data warehousing concepts :
As a data engineer, you'll be working with large amounts of data stored in databases. Familiarize yourself with different types of databases and how to query them using SQL. Learn one RDBMS and one NoSQL database, then familiarize yourself with data warehousing concepts.
1. Learn Data Warehousing concepts - https://lnkd.in/eKnVbFAB
2. Learn MySql - https://lnkd.in/efk-Mi3c
3. Learn and practice SQL - https://lnkd.in/efMKFkfX
4. Learn Azure Cosmos DB - https://lnkd.in/eNVyc6Mq
๐ถ Learn Python and PySpark :
These are essential tools for data engineers.
1. Python: https://lnkd.in/e5rCbvP8
2. PySpark : https://bit.ly/3Vu34Ev
๐ถ Learn Bash, Airflow and Kafka :
These tools will help you automate and streamline data processing tasks. You will also lear how to create data pipelines.๐ฉ
https://lnkd.in/eyN6u2yd
๐ถ Learn Git and the basics of CICD :
These skills will help you work collaboratively on data engineering projects and ensure smooth deployment.
Git - https://lnkd.in/eX_Q8s99
Basics of CICD - https://lnkd.in/epKGivFY
๐ถ Learn Azure Databricks and Data Lakes :
Azure Databricks - https://lnkd.in/eBij4akJ
Learn Data Lakes - https://lnkd.in/eQ9xxAJT
๐ Create a standout resume by showcasing your skills and experience in data engineering.
๐ Enhance your portfolio by completing various data engineering projects and sharing them on GitHub.
๐ Seek out opportunities in data engineering by applying to relevant positions
Optional Learning -
1. Learn Data Structure and Algorithms
2. Learn AWS or Azure services dedicated for data engineering works.
By following these steps and dedicating yourself to learning and gaining experience, you can become a data engineer in 2023. Good luck on your journey!
I have created a Telegram channel for sharing knowledge and have included the link in the comments section.
๐ If you like my posts, please follow https://www.linkedin.com/groups/14161672 ๐บ๐ธ ๐๐ and hit the ๐ on my profile to get a notification for all my new posts.
๏ปฟ#dataengineering #nosql #hadoop #datastructures #sql #algorithms #bigdata #business #python #data #programming #mysql #database #aws #spark #github #azure #job #career #learning #opportunities #experience #resume #engineer #warehousing
โ๏ธ After receiving a lot of queries, I've made some revisions to my original suggestion and I highly recommend following this exact sequence. Trust me, it will make things much easier for you.
โป๏ธ It's easy to get lost in the vast amount of information available when it comes to learning new skills, especially in the field of data engineering.
๐ However, with a solid roadmap and some dedication, it is possible to enter the field of data engineering in 2023.
Here are some steps you can follow to make sure you're on the right track -
๐ถ Learn RDBMS, NoSQL databases, SQL, and data warehousing concepts :
As a data engineer, you'll be working with large amounts of data stored in databases. Familiarize yourself with different types of databases and how to query them using SQL. Learn one RDBMS and one NoSQL database, then familiarize yourself with data warehousing concepts.
1. Learn Data Warehousing concepts - https://lnkd.in/eKnVbFAB
2. Learn MySql - https://lnkd.in/efk-Mi3c
3. Learn and practice SQL - https://lnkd.in/efMKFkfX
4. Learn Azure Cosmos DB - https://lnkd.in/eNVyc6Mq
๐ถ Learn Python and PySpark :
These are essential tools for data engineers.
1. Python: https://lnkd.in/e5rCbvP8
2. PySpark : https://bit.ly/3Vu34Ev
๐ถ Learn Bash, Airflow and Kafka :
These tools will help you automate and streamline data processing tasks. You will also lear how to create data pipelines.๐ฉ
https://lnkd.in/eyN6u2yd
๐ถ Learn Git and the basics of CICD :
These skills will help you work collaboratively on data engineering projects and ensure smooth deployment.
Git - https://lnkd.in/eX_Q8s99
Basics of CICD - https://lnkd.in/epKGivFY
๐ถ Learn Azure Databricks and Data Lakes :
Azure Databricks - https://lnkd.in/eBij4akJ
Learn Data Lakes - https://lnkd.in/eQ9xxAJT
๐ Create a standout resume by showcasing your skills and experience in data engineering.
๐ Enhance your portfolio by completing various data engineering projects and sharing them on GitHub.
๐ Seek out opportunities in data engineering by applying to relevant positions
Optional Learning -
1. Learn Data Structure and Algorithms
2. Learn AWS or Azure services dedicated for data engineering works.
By following these steps and dedicating yourself to learning and gaining experience, you can become a data engineer in 2023. Good luck on your journey!
I have created a Telegram channel for sharing knowledge and have included the link in the comments section.
๐ If you like my posts, please follow https://www.linkedin.com/groups/14161672 ๐บ๐ธ ๐๐ and hit the ๐ on my profile to get a notification for all my new posts.
๏ปฟ#dataengineering #nosql #hadoop #datastructures #sql #algorithms #bigdata #business #python #data #programming #mysql #database #aws #spark #github #azure #job #career #learning #opportunities #experience #resume #engineer #warehousing
lnkd.in
LinkedIn
This link will take you to a page thatโs not on LinkedIn
Instead of learning solutions of LeetCode questions, understand patterns! ๐
๐ด๐๐๐ ๐บ๐๐๐ ๐๐๐ ๐บ๐๐๐๐ !!!!
For ex.
If input array is sorted then
- Binary search
- Two pointers
If asked for all permutations/subsets then
- Backtracking
If given a tree then
- DFS
- BFS
If given a graph then
- DFS
- BFS
If given a linked list then
- Two pointers
If recursion is banned then
- Stack
If must solve in-place then
- Swap corresponding values
- Store one or more different values in the same pointer
If asked for maximum/minimum subarray/subset/options then
- Dynamic programming
If asked for top/least K items then
- Heap
If asked for common strings then
- Map
- Trie
Else
- Map/Set for O(1) time & O(n) space
- Sort input for O(nlogn) time and O(1) space
Link : https://t.me/teamJavaHyd๐๐๐
Check out a GitHub repo by Sean Prasad if you're interested to read more about this, it's absolutely amazing!
#leetcode #placements #dsa #interview #coding #preparation #consistency #quality #programming #softwareengineering #india #competitiveprogramming #datastructures #algorithms #connections #interviewpreparation
๐ด๐๐๐ ๐บ๐๐๐ ๐๐๐ ๐บ๐๐๐๐ !!!!
For ex.
If input array is sorted then
- Binary search
- Two pointers
If asked for all permutations/subsets then
- Backtracking
If given a tree then
- DFS
- BFS
If given a graph then
- DFS
- BFS
If given a linked list then
- Two pointers
If recursion is banned then
- Stack
If must solve in-place then
- Swap corresponding values
- Store one or more different values in the same pointer
If asked for maximum/minimum subarray/subset/options then
- Dynamic programming
If asked for top/least K items then
- Heap
If asked for common strings then
- Map
- Trie
Else
- Map/Set for O(1) time & O(n) space
- Sort input for O(nlogn) time and O(1) space
Link : https://t.me/teamJavaHyd๐๐๐
Check out a GitHub repo by Sean Prasad if you're interested to read more about this, it's absolutely amazing!
#leetcode #placements #dsa #interview #coding #preparation #consistency #quality #programming #softwareengineering #india #competitiveprogramming #datastructures #algorithms #connections #interviewpreparation