![]() I had no passion for coding before 2nd year in college but slowly developed interest by learning new things and seeing others coding. Fortunate to not get impacted by layoffs Received an offer to work at Amazon in US Interviewed with Google again, it went well but my process paused after interviews due to hiring freeze. Worked on multiple impactful projects at Adobe. This was the most eventful year of my career Interviewed with Google again in December, cleared interviews, went through team matching but got down-leveled Failed Google interview in the telephonic round Joined Adobe and worked as a Java Data Engineer. Started interviewing again after 1 month of LeetCoding Worked on interesting projects and learned multiple new technologies including AWS Worked happily at Amazon as a Machine Learning and Backend Engineer Received an offer from Microsoft but didn’t join because got down-leveled. Cleared Amazon Interviews and joined in September Failed interviews at Flipkart, Swiggy, Nutanix and more Started interviewing after 2 months of LeetCoding The project I worked on for 8 months got abandoned due to change in priorities Got to use some of the DSA concepts like graphs in the projects Worked as a Full Stack Developer at Morgan Stanely Cleared GSoC with 1 month of serious preparation Submitted my code in pen-drive on my last day which they lost. Got rejected in last round at companies Amazon, Walmart, Nutanix. Didn’t solve interview style problems as a result didn’t get selected in any of the companies that came for internship Built few projects using the technologies I learned. Got addicted to competitive programming and replaced video games with coding. Learned DSA through college course and books Didn’t solve any coding challenge till this point. Attended OOPS course but mostly learned Java syntax Taught myself Python during summer vacation and built few video games Struggled to understand basic concepts and tried to memorize everything Attended C programming course and wrote my first “Hello World” program Didn’t write single line of code and played video games all day Believed HTML was a programming language Went to college with ZERO knowledge of computer science ![]() To reduce communication overhead and avoid degradation in productivity, WhatsApp engineering team was kept small. They employed continuous feedback cycle by measuring metrics such as CPU, context switches and system calls at regular intervals to identify and eliminate bottlenecks. They gave a huge emphasis on things like logging, monitoring alerting, exception handling and security to improve product quality and fix issues faster. They made heavy use of open source libraries like Ejabberd (for real-time messaging server) and 3rd party services like Google Push (for push notifications) instead of writing everything from scratch. ![]() Load testing was performed on a regular basis by either generating artificial production traffic or configuring DNS to redirect more traffic toward a particular server to identify single points of failure easily. They used FreeBSD operating system to run the servers and fine-tuned it to handle 2 million+ connections per server. They took a hybrid approach and scaled both vertically and horizontally to keep the costs and operational complexity low. They used Erlang programming language to implement core functionalities of WhatsApp servers since it provides extremely high scalability and availability with tiny footprint and supports hot loading. They focused only on the core feature - messaging instead of building a full-fledged social media platform. WhatsApp scaled to 50 Billion Messages a Day With Only 32 Engineers.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |