Questions You Should Know about basic systems

09, Dec. 2024

 

Basic System Design questions that are too easy to miss!

Basic System Design questions that are too easy to miss!

JCDRILL Product Page

Rishi Bharadwaj

·

Follow

2 min read

·

May 24,

--

Here is the list of questions. that you must know as a Senior Developer (no matter which tech stack you are using).

Question 1: What are the different ways a web server can communicate with another web server?

Answer : There are two ways: Synchronous communication like API call (REST, SOAP) and Asynchronous communication like queues, databases.

Question 2: How would you send a message to a web server if it has network issues and its not always connected to internet?

Answer: Via message queues or database.

Question 3: How would you design a payment system? For example ' a scenario in which if the money gets deducted from one account and not credited in recipient's account due to network issue. How would you handle this?

Answer: Via Idempotent API calls and atomic transactions.

Question 4: In which scenarios, caching is not a good solution?

Answer: When you have frequent updates in database which keeps making the cache data stale so you need to frequently update it, when the cache hit rate is low etc.

Question 5: Difference between Load balancer and an API gateway. Can they be used interchangeably?

API gateways have more logic than just traffic distribution like load balancers. API gateways manage the security, rate limiting, caching etc. And no, they should be used interchangeably.

Question 6: If you are working on an e-commerce application and there is a big Friday sale coming in which the traffic on your application will be huge, what system preparations will you do to serve a smooth shopping experience for your users?

Answer: This is an open-ended question to see the depth of the knowledge of the candidate. Basic preparations include '

  1. Increase the number of backend instances before Friday sale event because waiting for an ASG to scale up may take time and it might cause issues.
  2. Use exponential back off resilience algorithm instead of retry thrice in case of API failures on big day.
  3. Check the dependent systems and increase them to same scale as the calling systems. For example ' Backend server hosting APIs and database servers.
  4. Code freeze way before the big event is a big plus.
  5. If we must make changes before the event then use feature flags in the code to turn off feature which may cause issues.
  6. Have a fallback strategy on databases. If your database crashes, then your API endpoints should have a fallback response (like nodes serving the static snapshot of database) for the users.

6 Questions to Ask About Your Business Systems to Make ...

The success or failure of your business depends on how strong your systems are.

Find out the questions you must ask to help you determine if your systems are working well or not. 

Camellia sought the help of Well Oiled Operations' for something that would typically be regarded as a 'happy problem'.

You see, her business had expanded from earning $150K to $800K in its first two years, and she knew it was time to scale the business pretty soon. 

The problem was that Camellia was already doing A LOT. 

Everyone in her team reports to her. She's the one putting out fires day and night. And she's also made some hires that didn't work out. So, work was piling on for her and the rest of her team. 

She badly needed better systems. 

While Camellia knew this, too, she kept delaying the implementation of systems in her business, thinking it could wait. She thought it would be better to strike while the iron is hot' and then just deal with the business's internal processes later on. 

But then, it was time to scale. And her business's systems were nowhere near ready. 

So, we sat down and fixed: 

  • Their organizational chart to get clear on who should be reporting to whom

  • Their hiring systems, including how to come up with great job descriptions

  • Their key performance indicators and success criteria

And guess what?

It took us an hour, perhaps one and a half to punch through all these systems. And it freed up an incredible amount of time for Camellia to scale her business. 

That's when she realized that business owners can never be too busy to implement great business systems. In fact, Camellia now believes business owners don't have the time NOT to do it. 

Why?

Because the busier you get, the harder it will be to put those systems in place. Then, you'd end up having to let go of opportunities like new clients and new contracts since you don't have the systems to take on more capacity in business. 

Now, that's what I'm here to help you avoid' the same way I did for Camellia back in the day. 

So, let me share with you six questions you could use to assess your current business systems. This way, you could either improve on them or implement better ones. 

If you want to learn more, please visit our website basic systems.

 

6 Questions to Assess Your Systems

There are three main areas in your business where you need solid systems:

  • Marketing  ' a system for landing new clients

  • Fulfillment ' a system for delivering your services efficiently

  • Operations ' a system for all your administrative processes and organizational functions

So, what you have to do is assess your existing systems around these three main areas. And you do it by asking yourself the following questions:

 

Question #1: What systems are costing you money?

The lack of systems is costing you money. 

So, are you having difficulties in marketing, fulfillment, or operations? Because if you are, then that's your first clue that you might be lacking crucial systems' or that at least you should be improving the systems you do have. 

Write down which systems are costing you money. 

Then, ask'

Question #2: Are they updated?


Perhaps you created systems years ago' And never looked at them again. 

That would be dangerous since the same marketing, fulfillment, and operational systems you made years ago might no longer make sense today. 

So, assess your systems and find out whether or not they're still applicable to your present realities. If not, then update them. 

 

Question #3: How often are these systems tested?

The thing about systems is that you never know when someone in your team might need to use them. 

Someone in marketing might need to take an emergency leave for two weeks. A manager might decide to extend their honeymoon. Or someone who handles client relations could suddenly resign'effective immediately. 

In any of these situations, would someone else be able to take over their tasks immediately? Yes, someone would. But they can only perform according to your standards if you give them systems that have been tested to work. 

Trust me, if there ever comes a time when someone in your team needs to use your systems' they won't have the time to test it first. So, you have to test your systems periodically to make sure they're working as intended. 

 

Question #4: How easily are people able to locate them?

Now, what if you, the business owner, are the one who has to step out for an emergency or a vacation? 

Would the rest of your team be able to locate your systems? Or would someone need to send you a million messages on Viber while you're at the hospital or on holiday just so they could locate your systems?

If it's the latter' Well, just imagine how not fun that would be for everyone involved! 

 

Question #5: Who's in charge of inspecting what you're expecting?

Systems only work when people follow them. And believe me'just because you specifically told someone to do a task a certain way doesn't mean they'll actually follow your system. 

And you don't want to do this in business. Because deviations from your systems won't give you your expected results. 

So, do you have anyone in your business who's in charge of checking if your systems are being followed? If you don't, then you need that role filled up soon. 

Remember that when it comes to implementing systems, accountability is the name of the game. 

 

Question #6: How often are these systems audited for efficiency?

Finally, just because you do have systems in place, and just because those systems seem to work just fine, that doesn't mean they can no longer be improved. 

You should realize that in business, there's always a better and easier way of doing things. So, once you've verified that you do have systems in place in your business, make it a point to always audit them for inefficiencies. 

After all'

You could end up freeing up even more of your time and scaling your business a lot faster if you take the time to improve your systems. 

 

I

mplement Better Systems in Your Business Today

Systems are lifesavers. 

That's why we say the success or failure of a business highly depends on how strong its systems are. Hopefully, the list of questions above can help you get started on assessing and improving your business systems. 

If you run into any challenges doing that, schedule a free strategy session with us so I can walk you through the process of implementing, updating, or improving your systems. Book a call here: http://www.stacytuschl.com/call. 

For more feet clampsinformation, please contact us. We will provide professional answers.