Steps to update vendor files after pulling changed composer.lock file Let's say I work in a group and somebody else did composer update and pushed changed composer.lock file. I pulled it and now I have to do update too, to match the files from changed lock file.

In symfony I would delete vendor dir and run composer install. But in drupal not all files are in vendor dir.

What is the best workflow in this case? Should I manually delete old vendor files (what dirs exactly?) or there is some composer command that will do all the work for me - check current vendor files with versions from composer.lock file and update what has to be updated?
In symfony I would delete vendor dir and run composer install. But in
  drupal not all files are in vendor dir.
  
  What is the best workflow in this case? Should I manually delete old
  vendor files (what dirs exactly?)


See .gitignore in your project dir:

# Ignore directories generated by Composer
/drush/contrib/
/vendor/
/web/core/
/web/modules/contrib/
/web/themes/contrib/
/web/profiles/contrib/
/web/libraries/


In case you want to do a fresh start with composer install you can delete all files with:

git clean -fdx .


See https://www.git-scm.com/docs/git-clean/1.7.0