Guest User

Untitled

a guest
Apr 21st, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.43 KB | None | 0 0
  1. ## 1. Prime Number
  2. The 10001st Prime Number is 104743.
  3. Please find the code in `primenumber.js` file.
  4.  
  5. ##### Technical Notes
  6. - In the code a cache is used to do the calculation more efficiently. When calculating the number for the 1st time, it takes around `23.35302734375ms`, but if we run it again, it takes just `0.260986328125ms`.
  7. - If next time we try to get the 10002nd prime number, The program will only calculate the 10002nd prime, because the previous 10001 numbers are already saved in the cache. This is again a huge performance benefit.
  8.  
  9. ## 2. When would you choose a NoSQL database instead of a relational database and why?
  10. - In NoSQL each document can have its own unique structure. So when the schema of the data is not consistent and can change at any time, NoSQL is preferred. Its very flexible to add new kind of data without affecting existing data.
  11. - When budget is less but a lot of data needs to be managed. Genrally NoSQL is much cheaper specially because of its Horizontal Scaling feature.
  12. - When the team mainly consist of frontend devs. Its very easy to learn NoSQL as it uses the JS Object/JSON structure.
  13.  
  14. ## 3. If you have problems with the performance of SQL queries on data that changes very infrequently, what options are there for improving the performance?
  15. - By turning on DB caching
  16.  
  17. ## 4. What are the most important things to consider when designing a web application that has to work well on mobile devices?
  18. - App is Responsive for all Major device sizes
  19. - Mobile has limited bandwidth and peformance in many cases, so
  20. - Create progressive web apps using service workers to cache the results
  21. - Minify/bundle JS and CSS Files
  22. - Reduce network requests
  23. - Serve optimized images for mobile
  24. - Optimize the cpu performance by writing efficient code(Use profilers to do this)
  25. - Use Native elements for better experience
  26. - Native Datepickers
  27. - Send Notifications
  28. - Save Icon to Desktop
  29. - Have a separate domain for mobile version
  30.  
  31. ## 5. What would you consider an effective development process and collaboration tools for a small remote team of 3 or 4 developers?
  32. - I currently use JIRA, Github, Hipchat for the remote work in my organization. While it is very good, but it would be an overkill for 3-4 devs. So I would consider trello + github + free version of slack.
  33. - For development process Agile is already proven. Creating user stories, estimation, standup calls, and iterations are very good for any kind of team.
Add Comment
Please, Sign In to add comment