Quasi-cliques are an elegant way to model dense subgraphs, with each node adjacent to at least a fraction λ ∈ (0, 1] of other nodes in the subgraph. In this paper, we focus on a new graph mining problem, the query-driven maximum quasi-clique (QMQ) search, which aims to find the largest λ-quasi-clique containing a given query node set S. This problem has many applications and is proved to be NP-Hard and inapproximable. To solve the problem efficiently in practice, we propose the notion of core tree to organize dense subgraphs recursively, which reduces the search space and effectively helps find the solution within a few tree traversals. To optimize a solution to a better solution, we introduce three refinement operations: Add, Remove and Swap. We propose two iterative maximization algorithms, DIM and SUM, to approach QMQ by deterministic and stochastic means respectively. With extensive experiments on three real datasets, we demonstrate that our algorithms significantly outperform several baselines in running time and the quality.