Over-constrained general solution to wave equation d'Alembert's formula states that the general solution to the one-dimensional wave equation is $$ u(x,t) = f(x+ct) + g(x-ct).$$ for any well-behaved functions $f$ and $g$.  This is a well-known and popular result.  The 1D wave equation can be accompanied by two initial conditions and two boundary conditions, such as
\begin{align}
u(x,0) &= a(x) \\
u_t(x,0) &= b(x) \\
u(0,t) &= c(t) \\
u(1,t) &= d(t)
\end{align}
But given this much initial/boundary data, the "general solution" is over-constrained.  What is actually meant then when $ u(x,t) = f(x+ct) + g(x-ct)$ is referred to as a "general solution"?
 A: Actually, your conditions set up the requirement that 
$$f(x) + g(x) = a(x)$$
and
$$c (f'(x) - g'(x)) = b(x)$$
for $x \in (0,1)$, which basically completely determines $f$ and $g$ on the interval. More generally, you get the requirements that for all $t>0$,
$$f(ct) + g(-ct) = c(t)$$
and
$$f(1+ct) + g(1-ct) = d(t)$$
Now you can proceed inductively to sweep out the domains where $f$ and $g$ are defined. 
For the zeroth, $f$ is defined on $0 \leq x \leq 1$, which from the first equation defines $g$ on $[-1,0]$, and similarly having $g$ defined on the unit interval defines $f$ on $[1,2]$ from the second equation. 
Having $f$ defined on $[n,n+1]$ means $g$ is defined on $[-n-1,-n]$ using the first equation. Having $g$ defined on $[-n,1-n]$ means that $f$ is now defined on $[n+1,n+2]$ from the second equation. Rinse and repeat to define $f$ for $x> 0$ and $g$ for $x < 0$. 
So rather than being overdetermined, I think you actually end up being underdetermined: you don't care what $f$ is for $x<0$, or $g$ for $x>1$. This actually makes sense: $f$ is a wave travelling in the negative direction, so the domain $[0,1]$ never "sees" what's travelling away from it. similarly, $g$ is a wave travelling in the positive direction. 
