Germany and Ukraine players (Alexander Hassenstein via Getty)

With the European Championships set to start in less than two weeks time, Julian Nagelsmann will be left with more questions than answers as his team were denied by a stubborn Ukrainian side.

Serhiy Rebrov's side frustrated the Germans all night and after facing 27 shots at goal, they managed to hold firm and come away with a well-fought draw. 

Here is how the players rated at the Max-Morlock-Stadion:

  •  Germany 

Manuel Neuer - 5/10

The Bayern Munich man made some strong saves in the first half but was a spectator for much of the second until a failed attempted clearance, which saw the visitors nearly convert until the offside flag spared his blushes 

Joshua Kimmich - 6/10

A reliable performance but beaten for pace too many times. This will need to improve as he is an individual that will be key to the Die Manschaft's aspirations at this summer's tournament.

Waldemar Anton - 7/10

A true modern centre-back performance. His calmness with the ball and ability to control the tempo of a game will provide a calming assurance to a back-line that will be vital this summer.

Jonathan Tah - 6/10

Strong solid performance next to Anton and he will see more time this summer if Nagelsmann changes his tactical set-up, but only deputising for Antonio Rudiger during this fixture.

Maximilian Mittelstaedt - 7/10

Played well, particularly as Ukraine seemed intent on attacking the right side of Germany, dangerous delivery which almost allowed Ilkay Gundogan to open the scoring.

Robert Andrich - 6/10

Workman-like performance from a player who has surely solidified his place come the opening game against Scotland.

Pascal Gross - 7/10

His sixth cap could have been confused for his 60th. He had calmness and composure on the ball and will have given Nagelsmann a headache when it comes to his midfield selection.

Jamal Musiala - 8/10

A strong performance from one of the best players in the world, his blossoming relationship with Florian Wirtz will surely define this next era for Die Mannschaft.

Ilkay Gundogan 6/10

The former Manchester City man should have opened the scoring from close range but in his more advanced role, he reliably controlled the game.

Florian Wirtz - 7/10

A performance which the footballing world has come to expect from the forward, always dangerous until his substitution 

Kai Havertz - 5/10

Anonymous performance from the Arsenal man, deputising for Niclas Fullkrug, but this performance would have hindered any of his chances.

Substitutes:

Chris Fuhrich (for Wirtz 46’) - 6/10

Deniz Undav (for Gundogan 46’) – 6/10

Robin Koch (for Tah 60’) – 7/10

Thomas Muller (for Musiala 60’) – 6/10

Maximilian Beier ( for Havertz 60’) – 8/10

Aleksander Pavlovic (for Andrich 71’) – 6/10

Anatolii Trubin – 8/10

Tremendous performance from the young goalkeeper, his ability to get across his goal quickly was vital in denying Beier’s late effort.

Yukhym Konoplia – 6/10

Struggled initially with the dynamism of Wirtz in the first half, but looked more comfortable when facing Fuhrich after half time.

Illia Zabarnyi – 7/10

A tremendous defensive performance in which he managed to deal with Havertz throughout the first half before Beier’s introduction.

Oleksander Svatok – 7/10

Denied a goal for the debutant Beier with a stunning block, surely has played himself into starting contention come Ukraine’s opening game against Romania.

Mykola Matviyenko – 6/10

The weakest of the three central defenders but by no means poor. He  struggled with Beier’s movement in behind after his introduction but managed to recover his composure later on.

Oleksandr Zinchenko – 7/10

The least touches of any outfield player who played the full duration and wasn’t particularly effective attacking, but remained solid in his defensive work.

Viktor Tsigankov – 7/10

The most dribbles of any player during the game, remained a threat until his substitution just after the hour mark.

Taras Stepanenko – 5/10

Struggled to contain the movement of Wirtz and Musiala and the game was too quick in stages - seemed like it was too much for him.

Mykola Shaparenko – 6/10

A good defensive performance from a player who primarily is a front-footed individual and showed a new side to his game.

Mykhaylo Mudryk – 7/10

Bar his lack of judgement when presented with an early chance to free Roman Yaremchuk, his pace was a constant threat against Kimmich and he looked threatening on the counter.

Roman Yaremchuk – 6/10

Never really had a chance throughout the first half but forced a strong save from Neuer and remained a constant thorn in the side of Germany with his hold-up play.

Substitutes:

Volodymyr Brazhko (for Stepanenko 64’) – 6/10

Andriy Yarmolenko (for Tsigankov 64’) – 6/10

Oleksandr Zubkov (for Mudryk 64’) – 7/10

Georgiy Sudakov (for Shaparenko 73’) – 6/10

Artem Dovbyk (for Yaremchuk 73’) – 6/10

Oleksandr Tymchyk (for Konoplia 80’) – 6/10