Zbr's days.
August
Sun Mon Tue Wed Thu Fri Sat
     
24
 
2007
Months
Aug

About :: TODO :: Blog :: RSS :: Old blog :: Projects :: GIT :: Gallery :: Notes

Fri, 24 Aug 2007

A job.

I just decided to check what knowledge modern russian search engines request from attendees. That was very fun and contrary very sad - I failed to answer whole set of questions just because I can not recall some bits, and expect that searching for the answer is unfair.
But there are some interesting questions, which I would definitely like to answer.
For example what multiplexing system would you use to handle more than 1000 clients for the web server. There are number of answers: poll, select, something else and no need to multiplex anything. I have at least two answers (unfortunately they do not request a sample code) - something else (guess what? Of course reinvent the wheel and write my own) and no need to multiplex anything, with quite strong ground.
Another interesting question is about data sharing: you have many terabytes of data and need to answer a question about how to distribute it between many servers so that searching would take resonable time, and what will happen if number of them fail. I think if I will answer, that I will write a distributed storage in kernel, people will laugh on me.
In one of the questions for Unix system programmer there is a subquestion about possibility to write fork() for Windows, and mail-system developer, which must know Oracle/MySQL.
There is a question about port scanning - if you have a system with infinite number of sockets, descriptors, processes and very fast interenet channel and need to scan huge number of ports on the remote systems, how long it will take if scanning for one port takes a second. My first question was about which local system is being used, since in one system it is possible to bind many sockets to the same port, if remote tuple is different, but in another it is impossible, thus it can only handle 64k connections in a time.

Many questions are about parallel computing in distributed environment. I expect recruiters want to hear about some kind of message passing algorithm like MPI, but I first thought about transferring not data request, data processing, so intead of doing 'calculate this stuff on your data and give me back result so that I will send it to another client' it would be possible to start a new process to do this stuff, which would migrate to remote system, process all needed data there without sending its parts to main host and back, and then provide result to the some client. This is just a though, but given how simple is rescheduling (well, not _that_ simple, but I managed to write it myself in userspace in M:N threading model project), it would be possible to implement as a research project.

So, generally I've found, that I will fail for all positions, since in each vacancy I did not know some questions, and I like that - I do not want to know everything - I like to get new knowledge.

/devel/other :: Link / Comments (0)

Please solve this captcha to be allowed to post (need to reload in a minute): 1 + 30

Comments are closed for this story.