algorithm 1 data structure 3 database 1 design patterns 2 io 1 java 1 networking 1 OOP 2 search engine 1 server 1 system design 1