Ljupcho Apostolov /data/devs/

Interview Questions

In this post I would like to outline some of my experience as a technical interviewer with candidates and what I like to ask most of the cases. This won’t be me answering some interview questions that you can find with simple Google search, even though I don’t know why most candidates won’t look for them before showing up in an technical interview. I will try to answer my own concepts though.


Continue reading...

Lock The Services, part I

The task is to sync data both to application’s database and ElasticSearch Cache. Both clients sets value to database first then to ES.


Continue reading...

Micro-services gone wrong, my take

Let’s get right to it. Each of these services needs to be self manageable and not depended on the other services, meaning you could deploy it on its own, expand on it own ect. If I were to make a change in one API and that results in changes in all the rest APIs and the deployment procedure involves all of the APIs to get a new version than we are not really building services we are building APIs that are connected and very much depended on each other. It can work, but it will be hard to manage both team wise and development requirements wise. When this concept was introduced the idea was that a developer is able to solve a problem: divide and conquer. We would break things into smaller pieces so we can solve them better and reuse each of those small piece anywhere so we make a change in one would be auto-reflected anywhere. That’s like basic narrative and we all know that, but making things simple is very hard.


Continue reading...

On Queues

Following are some challenges I’ve faced with queues. I have multiple queues that have multiple processes each as I curl data from third party and trying to store it in database. There are queues running in parallel, but each queue might dispatch another job in synchronous way even though multiple processes are running on it. The idea is to maximize the time and get the job done quicker, if no need to wait for something to finish, it can go into another queue, but sometime as per business logic I need to wait from update from previous queue, but running in parallel for different entities that are not related. I am using supervisor for running the queues.


Continue reading...

CPU Frequency Scaling with Arch Linux

I wouldn’t go into installing and configuration of Arch Linux, the wiki is accurate, simple and details enough. After installing the main configuration I do is CPU frequency scaling, because after installation the kernel will be set to performance governor and as a result the fans will start running very often. What I want is a quite laptop, I appreciate the silence.


Continue reading...