How do you write a real-time webbased collaboration tool such as google docs?

Google Docs works via operational transformation. The basic idea of operational transformation is to transform (or adjust) the parameters of an editing operation according to the effects of previously executed concurrent operations so that the transformed operation can achieve the correct effect and maintain document consistency. Google produced a video about operational transformation for Google … Read more

Resources to learn solving system design interview problems [closed]

I found this answer in Quora which has some very useful documents, videos and articles. Both answers are really good: http://www.quora.com/Job-Interviews/How-should-I-prepare-system-design-questions-for-Google-Facebook-Interview Also: How to Rock a Systems Design Interview How do I design an arbitrary system in an interview? System design – This is a very complete step-by-step guide/tutorial System Design Tutorials – A collection … Read more

Best practices for developing larger JavaScript applications [closed]

Development Environment Well, you need a web server (depends on server-side architecture) like Apache or IIS to simulate the AJAX communication. Sometimes an editor for javascript is included in the editor of the server-side development language. There’s a interesting question about javascript IDEs: https://stackoverflow.com/questions/209126/good-javascript-ide-with-jquery-support Debugging Techniques & Profiling Use built-in browser debugging and profiling tools … Read more