Intern
Give an example when you had to develop a product under a tight deadline.
sobes.tech AI
Answer from AI
Developed a network traffic analysis module in a performance monitoring library. The deadline was two weeks, as the client was awaiting a release with this functionality.
Main challenges:
- Lack of detailed specifications — had to research protocols independently.
- High performance requirements — traffic could be intensive.
- Need to integrate with an existing, quite complex codebase.
Solution:
- Prioritization: Identified key protocols (TCP, UDP, IP, HTTP) and focused on them first.
- Using existing solutions: Applied the
libpcaplibrary for traffic capture andnlohmann/jsonfor report generation. This sped up development and increased reliability. - Testing: Developed automated tests for each protocol to quickly identify errors.
- Iterative development: Constantly demonstrated working prototypes, receiving prompt feedback.
Here is an approximate structure of the HTTP traffic parser code:
#include <iostream>
#include <string>
#include <vector>
// ... other header files ...
struct HttpRequest {
std::string method;
std::string path;
std::string version;
std::vector<std::pair<std::string, std::string>> headers;
std::string body;
};
HttpRequest parse_http_request(const std::vector<unsigned char>& packet_data) {
HttpRequest request;
// Logic for parsing HTTP request from raw packet data
// ...
return request;
}
int main() {
// Usage example
std::vector<unsigned char> packet_data = { /* raw packet data */ };
HttpRequest parsed_request = parse_http_request(packet_data);
std::cout << "Method: " << parsed_request.method << std::endl;
// ... output other fields ...
return 0;
}
As a result, the module was delivered on time, functional, and passed internal and external testing. The main lesson was the importance of flexibility, effective use of existing tools, and constant communication with stakeholders.