The umami flavours from miso blend well with the lightness of dill and the earthiness of tahini to create a delightful sauce.

Ingredients

  1. 2 Tbsp. Tahini paste
  2. 2 Tbsp. water, cold
  3. 2/3 Tbsp. Miso, white
  4. 1 Tsp. garlic crushed
  5. 1.5 Tbsp. Dill
  6. 1 Tbsp. Dukkah
  7. 1 Tsp. Sumac

Steps:

  1. Combine tahini, garlic, and miso.
  2. Stir in water and blend gradually, achieve the desired consistency.
  3. Add in dill, sumac and dukkah. Mix well.
  4. Serve. Best served as-is or slightly cold.

You’ll want this to be woody and earthlike tasting, so go easy on the fresh herbs.

Ingredients:

  1. 1/2 Tbsp. Allspice
  2. 1 Tbsp. Cumin
  3. 1 Tbsp. Ginger powder
  4. 1 Tbsp. Thyme flakes
  5. 1 Tbsp. Ground chilli
  6. 1 Tbsp. Smoked paprika
  7. 1 Tbsp. Cinnamon
  8. 1/2 Tbsp. Pepper
  9. 1 Tsp. sea salt

Today, I read about ACID databases.

To recap, ACID are properties of databases that guarantee the data stored in the database, is valid. These apply to transactions, which is a single unit of work to read, or modify the database. The following properties as follow:

Atomic

Operations are indivisible, and either occur, or not occur at all. 2 states can occur:

  • Commit — Proceed with the transaction
  • Abort — Do not proceed

Consistency

Given constraints of the database are invariant, and hold true throughout operations.

Isolation

Multiple operations can occur simultaneously and independently, and yet result in the same predictable state.

Durability

Data persists despite events such as power loss.

#databases #todayiread


And so, this marks the end of Facebook’s Above and Beyond Computer Science (ABCS) first run in Singapore.

I can’t say I was really prepared for all the sessions, but — I’m thankful for the opportunity to make new friends, honing my coding interview skills, understanding what needs polishing, and practising coding questions in a group.

Certainly humbled by the experience — Thanks Facebook for the opportunity.

Here’s my compilation of notes of the past few sessions. I hope you find this useful.

Session 3: Missed due to trip overseas. Does anyone have the notes for this one?


Technical interviews trigger imposter syndrome even in the best of us.

Your imposter syndrome can make you:

  • Make you give up when you hit a snag
  • Make you go silent for fear of asking questions

Here’s the good news. You are not an imposter!

Imposter syndrome is the psychological experience of seeing yourself as an intellectual fraud and the fear of being exposed.

You might feel:

  • Being brilliant is a prerequisite for developers.
  • You’ve tricked other people, and you might be exposed.

Like you don’t really know that much (only a tiny sliver of all the stuff there is to know), and if something is easy for us, must…


Notes from Facebook’s ABCS Programme in APAC Singapore.

Why test your code?

  • Running your algorithm with a few examples will help catch bugs
  • You may come up with an original algorithm your interviewer didn’t think of; testing will demonstrate how it works
  • Testing your code will help catch edge cases

What to test for

  • General cases
  • Extreme cases
  • User error

Test both positive and negative test cases

Before you write the code, explain the code before you write it down.

  • So you don’t waste time writing code, before realizing that is not what interviewer wants

Think about a heap as a potential solution


Notes from Facebook’s ABCS Programme.

Remember, aim to solve 2 problems in a 45 minute interview

If you’re not at your most comfortable pace yet, that’s okay. There are multiple ways to increase your coding speed.

How to increase your coding speed

Practice:

  • Deepen your understanding of your programming language
  • Write more code
  • The more practice you get, the faster you’ll get with implementation, getting your code right, or avoiding trivial / or non-trivial bugs
  • After solving the problem once, try solving it a different way

Try to write code with fewer lines

  • Find the source code to projects and frameworks you already use, and read the source to see how it was written…


Image for post
Image for post

So last Thursday, I attended the 6th session of Facebook’s ABCS. Besides covering Linked Lists, we covered tips on tackling the coding interview. Here are some notes again!

Workshop 5: Talking through your solution

Linked lists are more of a C++, C Java concept where pointers and references are involved.

How do you think about and tackle hard problems / communicate about code

  • Evaluate your problem-solving skills to evaluate if you can translate thought into reasonably correct, well-structured code

How do you consider engineering tradeoffs (memory vs time)

  • Limits of what you know
  • Communicate verbally to demonstrate how you tackle hard problems
  • Talk to the interviewer to give active feedback to the interviewer, to know what and what not to code
  • Talking through your solution will help you…

So I’ve just attended Facebook’s Above and Beyond CS (ABCS) Programme for trees. Some notes taken for tonight!

White-boarding your code

White-boarding code is harder. Do practice.

During white-boarding, you won’t have the benefits of writing code at the computer. For instance, the following are unavailable:

  • Syntax highlighting
  • Code completion
  • Compiling

Steps to white-boarding a question:

  • Outline the structure of the solution (high level, purpose of method, output), order of loops / conditions, etc.
  • Start with writing pseudo-code
  • Helps to clear thoughts
  • Reduces number of mistakes
  • Tell the interviewer what you are doing
  • TIP: Don’t crowd your code.
  • Give a lot of whitespace, for fixing mistakes later.
  • Use smaller variable names / letter sizes to give you space.
  • Check your work on a compiler
  • Track changes

We collaborated on some problems, provided during the session:

Image for post
Image for post

Some pictures of the event:


I spent the evening at Facebook’s Above and Beyond CS (ABCS) programme. Here’s some notes taken for the evening on our problem set: Recursion!

Session 2: Recursion

Important to know how you present and communicate your code

Tips: How to design your solution

  • Always repeat the question back to them
  • Likely you would have seen similar problems
  • Try to simplify, then generalize
  • Take a base case, then generalize
  • Try to apply a data structure, which might help.
  • There are times when developers care more about space, others more about time
  • Don’t stay silent, as interviewer will not have any signals to proceed

(For interviewers) Read the question out loud…

Joel Tong Haowen

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store