telendt / fmaze Goto Github PK
View Code? Open in Web Editor NEWBackend Coding Challenge
License: MIT License
Backend Coding Challenge
License: MIT License
Clients should send their ID within some finite (preferably small) timeframe, otherwise their connection should be closed (since the protocol does not define a way of communicating problems back to the clients).
This would not make sense in the real world scenario (real world connection graphs are too sparse) but benchmarks (tester) would benefit from it (true, unamortized O(1) lookups).
Also, document why connection graph build by provided tester script is unrealistic and how this information can be used to game the benchmark.
At the moment the test coverage is below 50%, it should be higher.
...other that satisfying provided tester script.
Tester performs really dummy test (many edge cases are not covered) and benchmark test (measures maximum throughput). In the real system I would rather expect incoming events to come at some finite and almost fixed rate. Clients connections on the other hand are unreliable -- there might be some really slow readers (on purpose or not). Temporary client read slowness should be solved by with a help of message queues (buffered channel) but longer read stalls should not be back propagated to the event source. I would expect event source to emit events at the rate that real actions happen (follows, unfollows, PM sends, etc.). In that case slowing its send transmission rate does not make sense (How should it even be done otherwise? By disabling related action UI controls?)
What are the limits (in/out throughput, memory, number of concurrent connections) and how to scale it to multiple machines.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.