Erlang / Erlang Basics Interview questions
What is a gen_server?
gen_server is the OTP behavior for the common client/server pattern: a process that holds
state and responds to requests. Instead of writing your own receive loop, you implement a small set of
callbacks and the behavior handles the process mechanics.
init(Args) -> {ok, State}. handle_call(Request, From, State) -> {reply, Reply, NewState}. handle_cast(Msg, State) -> {noreply, NewState}.
handle_call/3 is for synchronous requests where the caller waits for a reply;
handle_cast/2 is for fire-and-forget messages. Callers interact through
gen_server:call/2 and gen_server:cast/2 rather than sending raw messages, which keeps
the protocol consistent and lets OTP add timeouts, tracing, and supervision for free.
More Related questions...