/ft_alone_in_the_dark

42 Silicon Valley exam subjects, pseudocode, testcases, and solutions

Primary LanguageC

ft_alone_in_the_dark

42 Silicon Valley exam subjects, pseudocode, testcases, and solutions

Questions? Requests? Reach me on Slack @evjohnst.

Pull requests welcome!

Sessions

6pm - 8pm on Mondays, room 115

Each Monday we discuss problems from the exams with an emphasis on conceptual understanding. To request a problem, let us know on Slack in #ft_alone_in_the_dark or DM @evjohnst, @cschulle, or @jadawson.

Code from most recent session (2019.05.27)

Agenda for next session (2019.05.27)

Nothing yet!

Beginner Exam

The beginner exam includes about 50 problems divided into 6 levels of increasing complexity, numbered 0 through 5. Level 0 problems are as easy as only_a, which prints the character 'a' to stdout, while level 4 and 5 problems are as complex as flood_fill, ft_itoa_base, and print_memory.

Subjects covered include string manipulation, bitwise operations, memory allocation, sorting algorithms, simple data structures, linked lists, and base conversions. Solutions must run in under 10 seconds; no other optimization is required.

Show Problem List
Problem Subjects Guide Code
0-aff_a 📜 🚫 🚫
0-aff_first_param 📜 🚫 🚫
0-hello 📜 🚫 🚫
0-maff_alpha 📜 🚫 🚫
0-only_a 📜 🚫 🚫
0-only_z 📜 🚫 🚫
1-first_word 📜 🚫 🚫
1-ft_strcpy 📜 🚫 🚫
1-repeat_alpha 📜 🚫 🚫
1-rev_print 📜 🚫 🚫
1-rot_13 📜 🚫 🚫
1-ulstr 📜 🚫 🚫
2-alpha_mirror 📜 🚫 🚫
2-do_op 📜 📗 🚫
2-ft_strdup 📜 🚫 🚫
2-ft_strrev 📜 🚫 🚫
2-inter 📜 🚫 🚫
2-max 📜 🚫 🚫
2-print_bits 📜 🚫 🚫
2-reverse_bits 📜 🚫 🚫
2-swap_bits 📜 🚫 🚫
3-add_prime_sum 📜 🚫 🚫
3-epur_str 📜 🚫 🚫
3-ft_range 📜 🚫 🚫
3-ft_rrange 📜 🚫 🚫
3-hidenp 📜 🚫 🚫
3-paramsum 📜 🚫 🚫
3-pgcd 📜 📗 🚫
3-print_hex 📜 🚫 🚫
3-rstr_capitalizer 📜 🚫 🚫
3-str_capitalizer 📜 🚫 🚫
3-tab_mult 📜 🚫 🚫
4-check_mate 📜 📗 📝
4-flood_fill 📜 📗 📝
4-ft_list_foreach 📜 🚫 🚫
4-ft_list_remove_if 📜 🚫 🚫
4-rev_wstr 📜 🚫 🚫
4-rostring 📜 📗 🚫
4-sort_int_tab 📜 🚫 🚫
4-sort_list 📜 🚫 🚫
5-brackets 📜 📗 📝
5-ft_itoa_base 📜 📗 📝
5-options 📜 🚫 📝
5-print_memory 📜 📗 📝
5-rpn_calc 📜 📗 📝

Recommended Solutions Repos

Intermediate Exam

The intermediate exam is similar in structure to the beginning exam, but it introduces dynamic programming, optimization requirements, and implementations of data structures.

Subjects covered include Big O notation, traversal of binary trees, multiply linked lists, and string math. Some problems require solutions that run in a specific time complexity.

Show Problem List
Problem Subjects Guide Code
0-count_of_2 📜 🚫 📝
0-equation 📜 🚫 📝
0-find_pivot 📜 🚫 📝
0-is_anagram 📜 🚫 📝
0-print_doublon 📜 🚫 📝
1-count_alpha 📜 🚫 📝
1-flood_fill 📜 📗 📝
1-height_tree 📜 🚫 📝
1-queue 📜 🚫 📝
1-stack 📜 🚫 📝
2-is_looping 📜 🚫 📝
2-longest_sequence 📜 🚫 🚫
2-str_maxlenoc 📜 🚫 📝
2-ord_alphlong 📜 🚫 📝
2-reverse_tree 📜 🚫 📝
3-can_split 📜 🚫 ⚠️
3-convert_bst 📜 🚫 📝
3-gold_gain 📜 📗 📝
3-perimeter 📜 🚫 📝
3-width_tree 📜 🚫 📝
4-clone_list 📜 🚫 📝
4-intersection 📜 🚫 📝
4-longest_subarray 📜 🚫 🚫
4-range_comb 📜 🚫 🚫
4-volume_histogram 📜 🚫 📝
5-count_island 📜 🚫 🚫
5-g_diam 📜 🚫 🚫
5-infin_add 📜 🚫 🚫
5-infin_mult 📜 🚫 🚫

Recommended Solutions Repos

Exam Tips

Exam Mechanics & Logistics

Exams take place every Tuesday morning from 9:00am - 1:00pm, in Zone 2 at 42 Silicon Valley. Students log into a special exam account with limited access to applications and the Internet, and take the test using a text editor, git, and an in-house terminal app called examshell.

Students are given one question at a time, beginning the test at level 0. For each correct solution, they are awarded points and they progress to the next level of the test, up to a maximum of level 5. For each incorrect solution, they are given a different problem of the same level, and the number of points they may earn on the current level is reduced by 5, to a minimum of 0. Up to 16 points may be earned for each of levels 0 through 4, and up to 20 points may be earned for level 5, for a maximum total of 100.

In order to pass the exams, students must achieve at least 75 points for the beginner version, or 80 points for intermediate. In order to receive course credit for the exam and become eligible to take the next difficulty level, students must pass at least 5 times. There is currently no advanced exam, but a few students are writing problems for it.