Fortinet
1 questions · 1 experiences · 1p3a (2)
Fortinet Full Stack Developer Online Assessment Review - September 27, 2025
Question Details
This post was last edited by ABAJ on 2025-9-27 19:13. I applied for the full stack exam, which has 4 questions as shown in the image, 135 minutes. Fortinet.png (97.3 KB, Downloads: 0) Download Attachment Save to Album Fortinet.png Uploaded 2025-9-28 09:51 The following content requires a score higher than 188. You can already view it. Q1: Your team is creating a new web application that will be accessible by multiple different users and groups of users. Each user within the system has a specific permission level, and different resources within the application require different permission levels. It is your responsibility to create a module that will determine which users and groups can access a resource of a specific permission level. You will be provided an array of users and groups (type UserOrGroup) which has the following structure: interface User { name: string; type: 'user': permissionLevel: number: } interface Member { name: string; type: 'user' | 'group' } interface UserGroup { name: string; type: "group'; members: Member |]; } type User0rGroup = User | UserGroup; type User0rGroup = User | UserGroup; Permission is granted according to the following rules: If the entry is a user, then the user's permission level must be greater than or equal to the required permission level. If the entry is a user group, then every user's permission level within group must be greater than or equal to the required permission level. It's possible for a user and a group to have the same name Function Description: Complete the function permittedUsersAndGroups in the editor below. The function must return an array of names, where eac name is either the name of a permitted user or group. The order of the returned names must match the input order.permittedUsersAndGroups has the following parameters: UserOrGroupll: usersGroups number: The requiredPermissionLevel recursion is troublesome because the test cases don't show the specific input. There are two edge cases: 1. User and group have the same name; 2. Member is empty. Q2: A scenario-based problem about Network Address Translation (NAT) traffic flowing through a FortiGate firewall. The goal is to track and identify the Source IP, Source Port, Destination IP, and Destination Port for both the Request packet (from the Workstation to the Web Server) and the Response packet (from the Web Server back to the Workstation) at two different points in the network: Point A: On the internal LAN, between the Workstation and the FortiGate firewall. Point B: On the internet, between the FortiGate firewall and the Web Server. A table was provided, followed by 14 fill-in-the-blank questions. Q3: An Angular question. The interface is very narrow and doesn't allow switching tabs, resulting in a poor user experience. The user should see a welcome page in the / path. It contains links to sections where the client can manage settings. Once logged in, the user should see a list of instances. they own in the / instances path. It should include the instance name, state, processor, memory, disk, and assigned IP address. If the user is not authenticated, they should be redirected to the path /login and see the login form. Initially, the user is not authenticated. The user should be able to fill out a login form with any (at this stage of prototyping) login/password combination, thus emulating a real back-end authentication process. The user should then be redirected back to the / instances path. Q4: Python: Event Reservation Implement a ShowBooking service for a theater with multiple auditoriums. Each auditorium has a fixed seating capacity and can host a single event per day. The service handles the following: Stores which event will take place in an auditorium of the theater Avoids conflicts when multiple customers are booking tickets for an event Implement two classes: 1. Complete the Repo class that implements the Repo interface, which stores booking information: registerEventinAuditorium(auditoriumNumber, eventid, capacity): Create and store an Auditorium object from the parameters. getAuditoriumDetailsFor Event(evenld): Return the Auditorium object for the event. getNumberOfSeatsBookedOrUnderBookingForEvent(eventld): Return the sum of tickets booked and tickets under booking for the event. addUnderBooking(event/d, userid): Store information that the user is booking an event. removeUnderBooking(eventid, userld): Remove information that the user is booking an event. addSuccessfulBooking(eventld, userid): Store information that the user has successfully booked an event. 2. Complete the BookingService class that implements the BookingService interface: startBookingProcess(eventld, userld): If the sum of booked and under-booking tickets is less than the auditorium capacity, start booking for the user and return true: otherwise, return false. confirmBookingStatus(evenid, userid, bookingSuccessful): If the booking is successful, update its status and return a BookingConclusion object with the auditorium number and confirmation status. The driver code creates an object of the class Repo and passes it to the constructor of the class BookingService. The driver code uses this object to call registerEventinAuditorium(int auditoriumNumber, int eventid, int capacity) and register information regarding events and auditoriums. It also handles reading input from the console and calling appropriate functions. Angular needs to be written in ts Wish you good luck, rice and noodles