Isolate database performance on an instance
You're question is very broad.  But in general the answer is yes.  A single instance has to share resources across all databases unless configured specifically not to.
By default, SQL uses all available CPU's for all operations.  You can configure MAXDOP (max degree of parallelism) on the database so a single query will only have access to that many CPU's.
IO is another tricky issue.  Generally it's best to seperate your workloads on physical hardware whenever possible.  Logs, data and tempdb all on seperate physical storage.  In addition, if you are trying to create a seperation of resources for the databases, you can use filegroups to assign the objects or the entire database to a separate storage device.
There are many, many other answers but again.  The question of 'how can I avoid that?'(in terms of cross database resource allocation) is way too broad for a specific answer.  If you are looking at one aspect, say IO, or CPU usage, it's an easier, more specific answer.