Para fazer com que o logo fique do lado esquerdo e o menu do lado direito, basta definir o espaçamento da classe pai para justify-content: space-between;
HTML:
<header class="cabecalho">
<a class="logo" href="#">
<img src="img/logo.png">
</a>
<ul class="menu">
<li class="menu-item">Item 1 do menu</li>
<li class="menu-item">Item 2 do menu</li>
<li class="menu-item">Item 3 do menu</li>
<li class="menu-item">Item 4 do menu</li>
</ul>
</header>
CSS:
.cabecalho{
display: flex;
width:100vw;
background: #353535;
justify-content: space-between;
}