I applied through a recruiter. I interviewed at Tipalti (Tel Aviv)
Interview
The interview process consists of several stages:
1. 15-minute introductory interview with a talent acquisition specialist.
2. 15-minute interview with the team leader for the desired team.
3. 2.5-hour coding interview (with team leader) , including a coding assignment and follow-up questions on the solution.
4. 1-hour technical interview with a technical lead, focused on design.
5. 1-hour interview with an instructor- Architecture review.
6. 1-hour HR interview.
After completing these stages, they request references before extending an offer.
Interview questions [2]
Question 1
create a util class that can print any simple object given.
SimpleObject can hold only public properties that either premitive types( int, string, bool) or simple object.
If you have more time, adjust the solution to handle also collections.
Design a service that takes "Payment" data as input and sends it to banks in XML format, utilizing different types of servers (initially, an FTP server).
I applied online. The process took 2 weeks. I interviewed at Tipalti in Nov 2024
Interview
The process started with a phone call from HR, followed by a brief call with the recruiting manager where he introduced the company and asked about my experience. He also posed a technical question about handling data consistency if one microservice stores data in a database but fails to write to a Kafka topic—a common dual-write problem. Next, I had a remote interview with the same manager, which included a one-hour task I completed independently. We then discussed my solution, and he asked additional questions about it.
Interview questions [1]
Question 1
Advanced Hands-on:
Implement a utility that will use .NET reflection APIs to print “simple” objects.
“Simple” objects are defined as follows:
They have only public properties
Each property can be of the following types:
Primitive (e.g. int), or string
Object – assume that that object is also a "simple" object
Array of “simple” objects
The program should navigate the object structure and print the structure. Here's an example:
class Name
{
public string FirstName {get; set;}
public string LastName {get; set;}
}
class Pet
{
public string Nickname {get; set;}
}
class Person
{
public int Age {get; set;}
public Name Name {get; set;}
public Pet[] Pets {get; set;}
}
Name n = new Name();
n.FirstName = "John";
n.LastName = "Doe";
Pet[] pets = new Pet[] {new Pet {Nickname="Rocky"}, new Pet {Nickname="Louie"}};
Person p = new Person();
p.Age = 55;
p.Name = n;
p.Pets = pets;
The output of your utility when run on instance p above should be something like this:
Object of Class "Person"
----------------------------------------
Age = 55
Name =
Object of Class "Name"
----------------------------------
FirstName = "John"
LastName = "Doe"
Pets =
[
Object of Class "Pet"
----------------------------------
Nickname = “Rocky”
Object of Class "Pet"
----------------------------------
Nickname = “Louie”
]
Keep the indentation of inner objects as in the example.
General guidelines:
You can assume your input contains only “Simple” objects as defined above
Total time for the exercise is 1 hour, please do not exceed the allocated time
In case you are not familiar with .NET reflection APIs please specify that in a comment. Hint: call the GetType() method of Object which is available on the object you are trying to print in order to start accessing the class metadata
Make sure exceptions are handled properly
Make sure the API to use this utility is convenient to use
You cannot use ChatGPT or other generative AI tool, you may use the Google/MSDN website for help. You cannot use libraries outside .NET. or any other external code.
Write the code as though you are writing production code.
I applied online. I interviewed at Tipalti (Tel Aviv)
Interview
A short introduction talk on the phone explaining the process and the job requirements. and a home assignment to complete in 2 hours. The home assignment includes a traveling salesman-type question.