Enable contrast version

Tutor profile: Jack W.

Inactive
Jack W.
Senior Developer at Amazon
Tutor Satisfaction Guarantee

Questions

Subject: Web Development

TutorMe
Question:

What are some of the challenges of developing a scalable web application that you would not encounter if you were developing a stand alone desktop application that does not require internet?

Inactive
Jack W.
Answer:

One of the main challenges of developing large scalable web applications is the fact that you're building a distributed system. Distributed systems is basically a system of computers all working together to accomplish a goal/task but it appears to the end user as if it's just a single computer (e.g. the user simple go to a website such as Airbnb and interact with it as if it's just running on their local computer). Distributed systems has many challenges that does not exists if the program simply runs on a single computer. The famous 8 fallacies of distributed system describes these issues and challenges. Therefore a backend web developer must be familiar with these in order to build reliable and scalable web applications.

Subject: Java Programming

TutorMe
Question:

What are some of the reasons why the creators of Java decided to create a new language instead of using say C or C++?

Inactive
Jack W.
Answer:

One of the main goals of Java is to "build once and run everywhere". The creators wanted to solve the problem of having to compile your program with different compilers based on which platform (i.e., different CPU architectures) your code will execute. This requires extra developer effort to get familiar with the various configuration options of the compiler being used for a particular platform. Java resolves this issue by compiling Java programs into Java "bytecode" which is essentially a set of instructions that will be executed by the Java Virtual Machine.

Subject: Computer Science (General)

TutorMe
Question:

What metric should you use to compare the 2 different algorithms that solve the same problem (e.g. sorting an array of integer values) and how to decide which to use?

Inactive
Jack W.
Answer:

When comparing algorithms, we can use time and space complexity to help use determine which algorithm is best for the particular use case. Time complexity tells us how well the algorithm scales in time as the size of the input data increases. Space complexity tells us how well the algorithm scales with respect to the amount of memory it uses as the input data increases. Another important metric is the simplicity of the algorithm. If the use case does not deal with large size of input, then it may be better to use a simpler algorithm since it leads to better developer understanding and easier to maintain.

Contact tutor

Send a message explaining your
needs and Jack will reply soon.
Contact Jack

Request lesson

Ready now? Request a lesson.
Start Lesson

FAQs

What is a lesson?
A lesson is virtual lesson space on our platform where you and a tutor can communicate. You'll have the option to communicate using video/audio as well as text chat. You can also upload documents, edit papers in real time and use our cutting-edge virtual whiteboard.
How do I begin a lesson?
If the tutor is currently online, you can click the "Start Lesson" button above. If they are offline, you can always send them a message to schedule a lesson.
Who are TutorMe tutors?
Many of our tutors are current college students or recent graduates of top-tier universities like MIT, Harvard and USC. TutorMe has thousands of top-quality tutors available to work with you.
BEST IN CLASS SINCE 2015
TutorMe homepage
Made in California by Zovio
© 2013 - 2021 TutorMe, LLC
High Contrast Mode
On
Off