Writing Exams
by bhagenlo and skienzle
Hi!
Ready for your first (or next) exam? Excited yet? Here's what you need to know (so that you don't waste time during one.)
Just like during the piscine, make sure to subscibe to event and project on intra.
In general, (at least at 42Heilbronn), in an Exam you have to do the following:
(Don't worry, it's all explained with an overlay over the wallpaper, too – it's just that nervous people make mistakes :))
- Log in onto the system.
Username:exam
Password:exam
- Start up a shell. Execute
kinit <intraname>
With that, you should be up and running. - There, you can see the Exam shell.
You'll mostly need the commandsgrademe
andstatus
which both do the obvious things. - To open VSCode open the MACOS search bar (keybord shortcut: command + space) and type Visual Studio Code.
- Start working in the
~/rendu
folder. Before even starting to write code, make completely sure the folder structure is exactly right. Really. - Don't forget to save your work (e.g. by enabling auto save in VSCode) before testing and always compile with the flags
-Wall -Werror -Wextra
. - Lastly please remember to commit and push everything before starting
grademe
in the examshell.
Consists of 4 levels, each with different functions you have to code. The subject descriptions & solutions are here. But really, I don't think you need those. Just make sure you know how to:#Exam 02
Is either For #Exam 03
ft_printf
or get_next_line
. Although get_next_line
has gotten suspiciously rare lately.ft_printf
, it's only the conversions %s
, %d
and %x
.
Is microshell, a dumbed down version of minishell. You only have to handle the pipe Whether you want reuse the logic you used during #Exam 04
|
and semicolon ;
tokens, as well as the cd
builtin.
Also the commands are supplied through the argv
, so no fancy readline()
logic is required.minishell
or come up with something new like here is up to you. Either way, make sure not to leak file descriptors.
Its goal is to test your knowledge of object orientation through the use of C++ and the structure is similar to the last exercise of CPP Module 04, divided into 3 seperate levels. Therefore, make sure to know how to work with: Also you will have to create a lot of files and write a lot of classes during the exam, so here are a few tips to save some time: Lastly, always mark a member function as #Exam 05
std::vector
or std::map
. Starting to work on ft_containers before doing the exam is definitely helpful, but not required.hpp
files, but don't forget to create .cpp
files and include the .hpp
files in them!c++ -Wall -Werror -Wextra *.cpp
command in your current exercise folder to avoid typing all filenames by hand.const
if it doesn't alter the instance of a class - even if it's not requred by the subject - and check for NULL
when dealing with pointers. This might save you unneccessary and hard to debug grademe
fails.
Is a morphed abomination between ft_irc, webserv and the C programming language (yep, it's C again), where you have to implement a chat server that broadcasts messages to all connected clients. Before going into the exam you should know how to: In the subject folder you will find a #Exam 06
select
for I/O-multiplexing, as it is the only allowed option during the exam.sprintf
function.nc
as clients.main.c
with some functions that may (or may not) be useful for your implementation, but it will give you a heads up if you need help in working with sockets.
Found something to improve? Edit this page on Github!