Message on Whatsapp 8879355057 for DSA(OA + Interview) + Fullstack Dev Training + 1-1 Personalized Mentoring to get 10+LPA Job
0 like 0 dislike
in Competitive-Programming by | 1,198 views

1 Answer

0 like 0 dislike


Competitive coding focuses a lot on deterministic and efficient solutions, whereas most of the software engineering is about building distributed and scalable solutions, and it capitalizes a lot on basic building blocks and common infrastructure pieces to build simple solutions fast. Of course, you’d still be solving basic programming problems in these building blocks, but bottlenecks are not efficient algorithms, but higher level architectural decisions.

To satiate your curiosity, I’ll draw two examples from top of my head where we used some of the fundamentals

  • We wanted to strip off some pre-annotated fields from a deeply nested datastore object (used in a tool which was supposed to solve the problem of database cleanups of deprecated data fields by building a generalized tool). We all know how cleanly DFS does this.
  • This one time, we had some specific requirements around generating a unique ID which lead us to use a custom logic based on current timestamp. We used the Birthday problem - Wikipedia to calculate the collision probability and validate non-collision guarantees with growth projections.