Rapyuta Robotics Interview Question

Third Interview ------------------- - How would you implement remote control of drones? Imagine multiple drones and multiple pilots, each with his/her own computer. Only one pilot per drone at a time. - TCP or UDP for the prior question? - How can you communicate to drones behind a customer's company firewall? (NAT Problem: All share the same IP address) - How does DNS work? - What's the difference between a thread and a process? - What data structure would you use for random data access? - Data structure for a cache that "forgets" the elements not accessed for the longest time first. - Binary Search, Binary Trees, Red-Black-Tree: Explain what these are and how we could use them for the "random data access"-problem. - In programming, what's an interface? - Name a couple of design patterns and explain them.