C++ Developer
Primary stack
C++
Job description
About the Position
We are seeking a skilled C++ Developer to create a robust application for searching strings in files. This role requires expertise in multi-threading, error handling, and efficient memory usage.
Responsibilities
- Create an application which can be used to search for a string in files.
- The application will receive two command line parameters. The first parameter is a path to a file or folder, while the second parameter is the string to be searched for (maximum length of 128 characters).
- Print the output to stdout in the format:
: Name of a file containing the string,: Offset within the file where the string started (zero based),: Contains three characters in front of the match,: Contains three characters after the match. - When there are not enough characters for the whole prefix or suffix (at the beginning or end of the file), use as many as there are available. In the prefixes and suffixes, tabs should be printed as
\tand new lines as. - The application must be able to recursively traverse and process all files in sub-directories.
- The application must handle large files efficiently, taking into account potential memory constraints/limitations.
- Ensure the application does not crash for any reason and prints meaningful error messages when a problem occurs (e.g., not enough arguments provided, invalid input path, etc.).
Requirements
- Proficiency in C++.
- Experience with multi-threading.
- Strong understanding of error handling and exception management.
- Knowledge of efficient memory management and avoidance of memory leaks.
- Familiarity with C++ 14 standard libraries (preferred) or Boost (acceptable).
What Will We Evaluate
- Your programming style.
- Usage of object-oriented programming principles.
- C++ programming best practices.
- Systematic use of naming conventions.
- Usage of the right comments at the right place.
- Good code structure.
- Handling of error states and exceptions.
- Avoidance of dangerous or error-prone constructs.
- Your understanding of the “inner workings” of C++ and standard functions (e.g., wastage of memory or unnecessary (implicit/internal) string/memory copy operations).
We Offer
- Opportunity to demonstrate your software engineering experience level.
- Potential for an interview, higher job level, and a more appealing salary offer.
- Your solution will be discussed in detail during an interview.
About the Company
[Company description if present]
How to Apply
Send us your solution to the following email address: [email protected]
By taking this challenge, you accept ESET Terms and Conditions and acknowledge ESET Privacy Policy.
© Eset Portugal. This job description was sourced from the employer's public career page. TheJob is not the employer — we index the posting and route candidates to the source. All content rights and hiring decisions belong to the employer.
Eset Portugal
Розробка ПЗ