Technology Analyst Interview Prep

Nervousness and lack of preparation define the placement season. To help the interviewees prepare for the interviews and bag the dream job that you have always wanted, below is the compendium for the same.

The placement interviews will usually have five to eight interview rounds.
The first and foremost round will check the individuals IQ, mathematical ability, and subject matter basics.

For mathematics preparation:

1) Any book which gives a fair idea about speed calculations. TIME CAT speed enhancement booklet can also be used.
Reference: Secrets of Mental Math can be a good starter.

2) https://www.indiabix.com/ for the logical reasoning, verb and quant part.

Subject matter preparation:

This section of the interviews would deal with the content that the person has learned in his 3-3.5 engineering stint. Here, no fancy questions will be asked. Stick to the basics and your ship will sail through smoothly.

Programming Language: C/C++, Java, Python

Know the basics of all the languages mentioned herein. However, study one OOP language in detail, preferably Java. The industry makes use of Java profoundly. Moreover, other upcoming languages like Scala and Kotlin use Java behind the scenes. Proficiency in Java would help a long way ahead.

Areas to look out are Java basics, OOP basics, and their implementations in Java, class, interface, abstract class, memory allocation, heap, stack, multi-threading, concurrency, Java JDK, JRE, etc.
Reference: https://www.geeksforgeeks.org/java/

Web technologies: HTML, CSS, Angular js, React Js, Node js

The working of HTML, CSS should be known by the candidate. The basic questions asked can be, why do we call CSS as CSS?
Knowledge of any other UI development framework is a cherry on the pie.


Database:
MySQL, MongoDB

Interviewees should be well equipped in writing database queries using aggregate functions, having by, group by, nested queries, ACID properties, and normalization of data. Hands-on experience goes a long way as it helps the candidate emulate confidence from within.

Data Structures and Algorithms:

DSA is the most dreaded, as well as the most critical part of the tech interviews. Ensure that the interviewee gives enough time for preparation of this section. Practicing the algorithms for 15-30 days should give the interviewee proficiency to clear their interviews.
Reference Book:
In C/C++: Data Structures and Algorithms Made Easy: Data Structures and Algorithmic Puzzles
In Java: Data Structures and Algorithms Made Easy in Java: Data Structure and Algorithmic Puzzles

The book is very structured and will help interviewee in learning the basic concepts and developing mastery in the subject.

Geeks for Geeks should always be used to supplement the interview preparations.
The key areas to focus are searching and sorting algorithms with their complexities, stacks, queues, linked lists, recursion, greedy algorithms, graphs, and trees. The interviewee should have an in-depth study of this as much as possible.
To supplement the theoretical reading with practical experience, Hackerrank provides a good interview kit for prep.

Hackerrank: Interview Kit

The interviewees are free to use other websites like codechef, SPOJ, topcoder, etc as per their convenience.

Interview Puzzles

Many times the candidates are bamboozled by the random puzzles thrown at them in the final stages of the interview. These questions are asked to check the interviewee’s thought process and the way he structures his answer with logical reasoning. It is not always feasible to solve the questions in the spur of the moment. So, practice for this is much needed. These simple questions can be the differentiating factor between the interviewee and the selected candidates.
Here is a quick reference to the question bank for the same from our beloved GFG.

Reference: Geeks for Geeks Puzzles

HR Interview

This round ensures that the candidate that the company is hiring is well suited in their work culture and meets the standards practiced by the company. The HR Interview round is very much the interview round where much of the screw-ups happen. The mishaps happen because of the negligent attitude of the candidates for this round. Please note the fact that this round is as much important as any other round of interview. More but not less. The HR has the final say whether the candidate is deemed fit for the company or not.

Prepare the basic HR questions like:
1) Tell me about yourself.
2) What are your ambitions?
3) Where do you see yourself in 5-10 years?
4) Why XYZ company?
5) How does this job align with your aspirations?

Reference: HR Interview Questions

Preparing for the HR interview questions will help you throughout your 40-year long career. The insights that you will gain about yourselves from this activity will significantly shape the course of further action by you.

Final Thoughts….

It’s better to accept that you don’t know a particular question in an interview. However, supplement it with the fact that you are attempting to answer it based on your intuition.
Drive the interview in the area where you have your forte. Keep in touch the latest advancements in the field of technology like Cloud, Big Data, Data Analytics, IOT, Blockchain, etc.
Efforts in the right direction, with the right attitude and mindset, will help you achieve the extra mile in your lives. The journey is a long one. There will be failures in the path taken. The attitude to learning from the failures and giving the best shot every time will ensure that you come out of the placement season with flying colors..!!!

All the best Amigos! Rock it 🙂

Please feel free to reach out to me in case of any queries and difficulties.

 

References:
1) https://www.geeksforgeeks.org/
2) https://www.amazon.in/
3) https://www.hackerrank.com/
4) https://career.guru99.com/
5) https://www.indiabix.com/

 

MultiChain

Installing MultiChain on Linux

su (enter root password)
cd /tmp
wget https://www.multichain.com/download/multichain-1.0.5.tar.gz
tar -xvzf multichain-1.0.5.tar.gz
cd multichain-1.0.5
mv multichaind multichain-cli multichain-util /usr/local/bin (to make easily accessible on the command line) exit (to return to your regular user)

We need two servers with multichain installed on them.
Try Amazon EC2.
After installing multichain and initializing the blockchain, make sure you modify the Network and security settings port numbers to allow the two nodes to communicate with each other.

1. Creating a blockchain

First we will create a new blockchain named chain1. On the first server, run this command:

multichain-util create chain1

View the blockchain’s default settings:

cat ~/.multichain/chain1/params.dat

Initialize the blockchain, including creating the genesis block:

multichaind chain1 -daemon

2. Connecting to a blockchain

Now we’ll connect to this blockchain from elsewhere. On the second server, run the following:

multichaind multichaind chain1@172.31.29.15:6461

You should be told that the blockchain was successfully initialized, but you do not have permission to connect. You should also be shown a message containing an address in this node’s wallet.

Back on the first server, add connection permissions for this address:

multichain-cli chain1 grant 15ZLxwAQU4XFrLVs2hwQz1NXW9DmudRMcyx2ZV connect,send,receive

Now try reconnecting again from the second server:

multichaind chain1 -daemon

3. Some commands in interactive mode

Before we proceed, let’s enter interactive mode so we can issue commands without typing multichain-cli chain1 every time. On both servers:

multichain-cli chain1

If you are using Windows, interactive mode is not yet available, so all commands in this guide should be preceded by multichain-cli chain1. You will also need to open another DOS command line in the directory where you installed the MultiChain executables.

Now that the blockchain is working on two nodes, you can run the commands in this section on either or both. To get general information:

getinfo

See a list of all available commands:

help

Show all permissions currently assigned:

listpermissions

Create a new address in the wallet:

getnewaddress

List all addresses in the wallet:

getaddresses

Get the parameters of this blockchain (based on params.dat file):

getblockchainparams

For each node, get a list of connected peers:

getpeerinfo

4. Streams

Now let’s create a stream, which can be used for general data storage and retrieval. On the first server:

create stream stream1 false

The false means the stream can only be written to by those with explicit permissions. Let’s see its permissions:

listpermissions stream1.*

So for now, only the first server has the ability to write to the stream, as well as administrate it. Let’s publish something to it, with key key1:

publish stream1 key1 73747265616d20646174358

The txid of the stream item is returned. Now let’s see that the stream is visible on another node. On the second server:

liststreams

(The root stream was in the blockchain by default.) Now we want the second server to subscribe to the stream, then view its contents:

subscribe stream1
liststreamitems stream1

Now we want the second server to be allowed to publish to the stream. On the first server:

grant 15ZLxwAQU4XFrLVs2hwQz1NXW9DmudRMcyx2ZV send
grant 15ZLxwAQU4XFrLVs2hwQz1NXW9DmudRMcyx2ZV stream1.write

Note that the address needs both general send permissions for the blockchain, as well as permission to write to this specific stream. Now let’s publish a couple of items on the second server:

publish stream1 key1 736f6d65206f746865722064617461
publish stream1 key2 53747265616d732052756c6521

Now let’s query the stream’s contents in many different ways. Back on the first server:

subscribe stream1
liststreamitems stream1 (should show 3 items)
liststreamkeys stream1 (2 keys)
liststreamkeyitems stream1 key1 (2 items with this key)
liststreampublishers stream1 (2 publishers)
liststreampublisheritems stream1 1... (2 items by this publisher)

Reference: https://www.multichain.com/getting-started/