The job will pick up the last successful checkpoint as its state after restarting, assuming checkpointing was enabled before the crash, and the contents can be deserialized successfully. Many sources will keep state that lets them resume from roughly where they left off, e.g. partition+offset pairs for a Kafka source.