```python
from collections import deque
from typing import Optional

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

    def add_job(self, job_id: str, data: dict) -> str:
        self._pending.append({'id': job_id, 'data': data})
        return job_id

    def get_result(self, job_id: str) -> Optional[dict]:
        return self._results.get(job_id)

    def process(self):
        if self._pending:
            job = self._pending.popleft()
            # Simulate processing
            self._results[job['id']] = {'status': 'completed', 'input': job['data']}
```