请提供一个包含程序员面试可能会遇到的问题的json文档，至少包含5个问题，以及每个问题的预期答案长度（以字数为单位）。
user
{
  "interview_questions": [
    {
      "question": "解释一下什么是递归函数？",
      "answer_length": 100
    },
    {
      "question": "描述一下RESTful API的工作原理。",
      "answer_length": 150
    },
    {
      "question": "请举一个你使用设计模式解决具体问题的例子。",
      "answer_length": 200
    },
    {
      "question": "开始一个多线程程序时需要注意哪些事项？",
      "answer_length": 120
    },
    {
      "question": "解释一下事件驱动编程模型是什么。",
      "answer_length": 180
    }
  ]
}
assistant