from collections import deque

class JobQueue:
    def __init__(self):
        self.pending_jobs = deque()
        self.results = {}

    def add_job(self, job_id: str, data: dict) -> str:
        self.pending_jobs.append((job_id, data))
        return job_id

    def process(self):
        while self.pending_jobs:
            job_id, data = self.pending_jobs.popleft()
            self.results[job_id] = {"status": "completed", "data": data}

    def get_result(self, job_id: str) -> dict | None:
        return self.results.get(job_id)

# Example usage (commented out to prevent execution if imported)
# queue = JobQueue()
# job_id = queue.add_job("job1", {"task": "process_data"})
# queue.process()
# result = queue.get_result("job1")
```python
from collections import deque

class JobQueue:
    def __init__(self):
        self._queue = deque()
        self._results = {}

    def add_job(self, job_id: str, data: dict) -> str:
        self._queue.append((job_id, data))
        return job_id

    def process(self):
        while self._queue:
            job_id, data = self._queue.popleft()
            self._results[job_id] = {"status": "completed", "data": data}

    def get_result(self, job_id: str) -> dict | None:
        return self._results.get(job_id)
```
</think>

from collections import deque

class JobQueue:
    def __init__(self):
        self._queue = deque()
        self._results = {}

    def add_job(self, job_id: str, data: dict) -> str:
        self._queue.append((job_id, data))
        return job_id

    def process(self):
        while self._queue:
            job_id, data = self._queue.popleft()
            self._results[job_id] = {"status": "completed", "data": data}

    def get_result(self, job_id: str) -> dict | None:
        return self._results.get(job_id)