Django面试问答以及面向初级开发人员的实用技巧

2021年11月10日17:33:39 发表评论 752 次浏览

Django……这不是你最喜欢的框架吗?(特别是如果你是编程世界的新手)

是的!这是…

你有没有尝试学习这个框架并构建一些项目?

如果答案是肯定的,那么这里是下一个问题……

你了解项目的完整流程吗?

如果答案是肯定的,那么这里是另一个问题(现在不要生气......哈哈......)

你能用你自己的话来表达你从项目中学到的概念吗?

如果答案再次是肯定的,那么恭喜你,你不需要阅读大量关于 Django 面试问题的文章......你只需要看看这些问题,答案就会自动出现在你的脑海中,本文为你介绍常见的Django面试题和答案

这个框架是行业中最流行的框架,这也是大多数人跳入它的原因(当然钱是另一个因素)。如果你是一位经验丰富的开发人员,那么你肯定会检查其流行背后的原因,为此,你将检查 Django 可以在应用程序中解决哪些问题?为什么它比其他框架更好,热门Django面试题有哪些?或者为什么在 Django 上构建应用程序很好? Django面试问答技巧有哪些?

如果你已经投入精力构建一些项目并了解该框架的概念,那么你只需要申请合适的工作并面对面试即可。

现在来到这个博客的主标题,我们将讨论一些你在面试中可能会遇到的 Django 面试问题,但在我们继续之前,我们建议你仔细阅读下面给出的内容。

快速说明!

如果你只是在寻找面试问题并相信阅读这些问题并记住它们的答案将帮助你完成面试,那么我的朋友,当你面临面试时,这将不起作用。

Django面试题和答案合集:永远记住,面试官更愿意聘用具有实践经验并能够解决 Django 应用程序中问题的候选人。很可能他们不会雇用来参加面试的人,在没有任何实际经验的情况下阅读大约 20-30 个 Django 面试问题。

只阅读 30-40 道面试问题(任何语言或框架)并在没有任何实际经验的情况下面对面试在软件开发中是行不通的。因为在那里你不会被要求为一些理论考试写论文。 

在那里你必须构建实际的软件,在这种情况下,无论面试官会问什么样的问题,他/她的唯一目的都是检查候选人对框架的理解能力,对框架的理解能力概念,关于对事物如何连接的理解,关于对框架完整流程的理解。 

你可以先阅读理论,阅读问题,然后构建一些项目,或者你可以构建一些项目,然后阅读理论和面试问题。但这里的整个想法是两者都做……不要错过任何一件事。 

现在让我们开始讨论面试问题……

我们还将讨论面试官正在寻找什么样的答案或他/她为什么问一个特定问题。

Django面试问题

Django面试问答技巧:无论我们要在这里讨论什么问题,不要期望每次面试都会出现相同的问题。不是每次面试都会是一样的。问题可能会有所不同,具体取决于参加面试的人。但是是的,这些是最基本的问题,也是最常见的问题,我们考虑到初级 Django 开发人员的职位,整理了这个问题。

面试中很可能会问这些问题,以检查候选人至少对框架有基本了解的能力。在申请工作之前,请确保你在投资组合中提及该项目。提及你使用这个惊人的框架在项目中所做的事情。你构建了哪些功能,或者你解决了哪些问题。这将使你深入了解你对这个框架的理解程度。

面试官不想进行问答环节。他/她会尝试与你建立关系,并且他/她会尝试了解你。所以,如果面试官问的是这个项目或者你目前正在做的事情,那么请平稳地谈论它并尝试控制面试。扩展你的答案并深入了解细节,而不仅仅是给出是或否的答案。 

不要在面试中作假。与面试官建立融洽的关系,并将你的面试官视为团队成员或导师,他将在未来与你一起开展某个项目。当你深入了解项目的细节时,面试官会了解你已经知道的事情。你只需限制自己的问题数量,面试官就不会问他/她列表中的 50 个问题。 

如果你被某个问题困住了,那么不要给出错误的答案,只要让面试官知道你是否对这个项目有任何了解。你可以说“我在我的项目中已经这样做了,但事情只是空白。我不记得确切的命令是什么,但我认为它是这样的“. 现在你可以尝试详细说明这些问题。对面试官来说完全没问题,不会给人留下任何负面印象。

热门Django面试题有哪些?现在让我们从问题开始……

1. 你对 Python 的熟悉程度如何? 

注意:面试官正在寻找一些先决条件。他/她想了解你的 Python 技能。你对它有多熟悉,你用 Python 做了什么。他不会花太多时间在这上面,但显然,如果你是 Django 开发人员,那么你将需要知道这一点。 

回答:让面试官知道你上过什么课程,你做过什么样的项目,你在这门语言上扩展了多少。书籍和其他资源等。 

2.什么是Django?

注意:从这里面试官将深入了解细节,他/她将尝试了解你对 Django 的了解程度。当然,这个问题也取决于你如何解释你的作品集中提到的 Django 项目。如果面试官怀疑你对 Django 的了解,那么他/她肯定会抛出这个问题。 

答: “Django 是一个基于 Python 的 Web 框架。就像我们使用 ExpressJS 或 NodeJS for JavaScript 和 Laravel for PHP 来构建应用程序的后端部分一样,Django 用于 Python 也是出于同样的目的”。不限于给出相同的响应,但此响应将澄清你知道“什么是框架”。如果你在回答中提到几个框架,那么面试官就会明白你知道框架的概念,不需要深入了解框架的概念。 

3. 你可以用 Django 构建什么?

注意:基本上面试官希望得到的答案是你知道 Django 的能力。你了解 Django 的用途。通常,人们举的例子是 Django 可用于构建社交媒体网络、电子商务网站,但如果你想获得良好的反响,请提及一些公司的名称。

回答: “Django 功能是任何东西,像 Udemy、Pinterest、Instagram、Dropbox 这样的公司都在使用它。” 面试官会明白你了解 Django 并且你知道它有很多能力。你正在了解已完成的操作以及它可以执行的操作。你还可以提及 API 以及 API 如何帮助构建一些好的应用程序。 

问题的正确解释。4和5真的很重要。如果你无法解释 Django 是什么以及它能够做什么,那么面试官会担心。 

从这里面试官可能会深入了解细节,他/她会快速提出一些问题,以确保你已经解决了这些问题。你不只是听说过这个框架,或者你没有做过任何死记硬背的学习。面试官在这里会很轻率地判断,因为没有人记得每个命令或开发中的确切代码。大多数人只是谷歌搜索出来的东西并解决问题。但是你应该记住Django中最基本的命令或最基本的东西。 

4. 热门Django面试题有哪些?Project 和 App 有什么区别?

注意:在你的答案中包含示例以区分两者。 

答:“一个项目就像一个整体环境。它是你网站的基础,而应用程序就像是该网站的一个组件,用于保存项目逻辑。项目就像你网站的配置,而应用程序是你项目的组件,它被创建来在你的应用程序中执行特定的操作。 

Django面试题和答案合集:一个项目由许多应用程序组成,因此一个项目可以有 n 个应用程序,一个应用程序可以在多个项目中。” 在这里,你可以给出 facebook.com 的示例并将其结构化以更好地解释它。Facebook 将被视为一个项目,而新闻提要、个人资料、群组是整个 Facebook 中不同应用程序的组成部分。

所以对于不同的任务,一个项目可以分为各种小应用程序,这些应用程序专注于特定的功能区域。

Django面试问答以及面向初级开发人员的实用技巧

5.我们如何初始化一个项目?

答案: $ django-admin startproject projectname

6. 我们如何初始化一个应用程序?

答案: 常见的Django面试题和答案 - $ python manage.py startapp appname

7、settings.py文件有什么作用?

Django面试问答技巧:注意: settings.py 是项目中最重要的文件,它包含应用程序的所有配置。对 settings.py 文件给出最好的解释。面试官会检查你对 Django 的技术理解。

答: settings.py 包含项目的配置,例如数据库连接、应用程序配置、绝对路径值、静态文件配置以及项目的整体命令中心。 

8. 我们如何启动我们的开发服务器?

答案: $ python manage.py runserver

9. Django中的MVT结构是什么?什么是模型?什么是视图?什么是模板?

答:模型是数据库表的基于类的表示。它代表数据库结构。 

视图是基本的商业逻辑,并且它不处理怎么样的数据看起来(像MVC结构)。它代表了数据的实际情况。View 决定当特定的 URL 被点击时应该触发什么数据需要返回的内容,如模板、响应等。 基本上,视图返回模板,它是模型和模板之间的连接。 

模板层返回 HTML 布局。它处理响应的呈现部分。响应将如何呈现给用户。

有了这个答案,面试官就会看到你对模型、视图和模板的理解。  

10. 什么是 Django 管理面板?

注意:这是 Django 的主要功能之一,因此面试官可能会向你提出这个问题。

答: Django 管理面板是一种用于管理任务的图形用户界面。默认情况下,管理面板是用 Django 构建的,你不需要像我们在其他语言中那样从头构建它。你可以快速设置管理面板来管理你的数据并访问它。开发过程变得更快,并且开发人员执行管理活动也变得容易。

11. 什么是 URL 模式?

注意:这是你绝对应该知道的 Django 中的另一个基本内容。面试官想知道你是否了解如何在 Django 应用中配置 URL。 

回答:正确解释路由如何使用 URL 模式在 Django 中工作。 

URL 决定网站路由。我们在应用程序中创建一个 python 模块或一个文件urls.py。该文件决定了你网站的导航。当用户在浏览器中点击特定的 URL 路径时,它会与 urls.py 文件中的 URL 匹配。之后,检索相应的视图方法,然后用户获取对所请求 URL 的响应。 

12、下面的命令有什么作用?

  • python manage.py makemigrations
  • python manage.py 迁移

注意:这是 Django 中的另一个基本内容。你只需要解释这两个命令在 Django 应用程序中的作用。 

答: makemigration 命令扫描应用程序中的模型,并根据我们在模型文件中所做的更改创建一组新的迁移。该命令生成SQL命令,执行该命令后我们得到一个新的迁移文件。运行此命令后,不会在数据库中创建表。 

现在要在我们的数据库中应用这些更改,我们执行 migrate 命令。migrate 命令执行 SQL 命令(在 makemigrations 中生成)并强制对数据库进行更改。运行此命令后将创建表。

13.我们在哪里存储模板? 

答:热门Django面试题有哪些?有多种不同的方式来存储模板。我们可以将它存储在默认的应用程序结构中。Django 应用程序通常会告诉你将其存储在名为 templates 的文件夹中的子文件夹中(无论你的应用程序名称是什么),然后你就可以将所有模板放在那里。你还可以手动将此值分配到 settings.py 文件中。在此文件中,你将找到一个变量“模板”,在此变量中,你将找到一个名为 DIRS 的列表。在这里,你可以提及模板的路径,并让 Django 知道在哪里可以找到它们。 

14. Django 模板语言:双花括号是什么意思,百分号是什么意思?(面试官可能会举一个例子)

<h2>{{name}}</h2>

Django面试题和答案合集:注意:面试官想知道你非常了解如何使用模板。你对它有一个很好的理解,你知道如何传递数据,然后在模板中设置变量。 

答:花括号只是变量的占位符。这样我们就可以输出动态数据。带百分号的花括号是我们可以在模板中编写后端 Pythonic 逻辑的代码块。现在你可以在此处编写示例之一。你可以在模板的代码块中编写 for 循环或 if 语句。 

{% for customer in customers %}
<tr>
   <td>{{customer.name}}</td>
</tr>
{% endfor %}

15. 如何在应用程序中包含和继承文件?

答:“使用include标签,我们可以包含另一个 HTML 模板的部分”。对继承和扩展的正确解释是“如果我们有一个 main.html 文件,并且我们需要继承这个文件,那么我们可以在模板中我们想要扩展它的地方使用extends标签,然后我们可以在块中添加标签来扩展模板。” (阅读文章Django 模板标签来详细阐述你的答案)

{% extends 'base/main.html' %}
{% include 'base/navbar.html' %}
{% block content %}
     <h2>Template</h2>
{% endblock content %}

16. 你更喜欢使用什么数据库系统,我们如何在 Django 应用程序中设置数据库?

Django面试问答技巧:注意:默认情况下,Django 自带 SQLite 数据库,但在现实生活中,公司不会使用它。所以在这里面试官想听听你知道一些 SQLite 数据库系统之外的东西,你不只是依赖默认的数据库系统。你还了解如何连接另一个数据库,如 MySQL 或 PostgreSQL。提及你可以在 Django 项目中配置数据库的位置。 

答:我们需要在 settings.py 文件中配置我们的数据库。默认情况下,那里提到了 SQLite,我们需要相应地更改此设置。你还可以举一个设置像 MySQL 或 PostgreSQL 这样的数据库的例子。 

17.什么是静态文件?

答:这是我们存储附加文件的地方,如 CSS 文件、JavaScript 文件、图像或任何类型的静态文件。我们通常将它们存储在单独的文件夹中,例如在js文件夹中,我们存储所有 JavaScript 文件,在图像文件夹中,我们存储所有图像。我们将这些文件存储在名为static的项目应用程序的子目录中

18. 什么是媒体根?

答:媒体根用于上传用户生成的内容。我们可以从 MEDIA_ROOT 提供用户上传的媒体文件。 

19. 如何查询数据库表中的所有项目?

答案:XYZ.objects.all()其中 XYZ 是在模型中创建的某个类。

20.如何从数据库表中查询一项?

答案: XYZ.objects.get(id=1) 其中 XYZ 是在模型中创建的某个类。

注意:我们刚才提到了两个数据库查询问题的例子,但面试官可能会问更多的问题。他/她可以向查询添加更多复杂性,然后你将不得不回答它。因此,请准备好在 Django 中进行更多的数据库查询。

21.什么是CSRF TOKEN? 

答: 热门Django面试题有哪些?CSRF 令牌有助于抵御跨站点请求伪造攻击。这可以从恶意站点发送。Django 带有 针对 CSRF 的内置保护。我们可以在 post、put 或 delete requests 中使用它。我们通常将这些与我们的表格一起发送。简而言之,我们只是保护我们的数据 免受任何类型的恶意活动。我们可以在模板的表单中包含{ % csrf_token % }以保护我们的数据。 

22. HTML/CSS/Bootstrap 技能水平?

注意:这是另一个前提问题,因为在开发中你肯定会遇到 HTML 和 CSS 中的代码。你将不得不使用 Django 动态处理它。所以面试官想检查你对两者的基本了解。 

回答:常见的Django面试题和答案 - 同样,如果你已经构建了一些项目,那么让他们知道你在 HTML 和 CSS 中做了什么,或者你是如何动态处理它们的。如何构建页面或模板以及如何在应用程序中使用 Django 对它们进行编码。你还可以通过提及你在 HTML 和 CSS 中设计的模板或页面类型以及你如何动态呈现它来扩展答案。 

23. 你做过 JavaScript 吗?有这方面的经验吗?

注意:如果你不了解 JavaScript,那么面试官很可能不会为此与你对接,但是如果你在 Django 中构建项目时已经处理过它,那将是一个很好的加分项。作为一名 Web 开发人员,你将经常使用 JavaScript,并且拥有这方面的先前经验会给你带来一些优势。如果你不知道,那完全没问题,但 JavaScript 的知识会增加被选中的机会。 

答:如果你懂 JavaScript,那么让面试官知道你在 JavaScript 中做了什么,或者你在 JavaScript 中内置了哪些特性以及 Django。 

Django面试问答技巧总结

Django 的面试问题不限于此。除了这个Django面试题和答案合集,还有很多概念需要了解,但最重要的是你在投资组合中提到了什么以及你在项目中做了什么。你会从那里找到大多数问题。它还取决于面试官、公司名称、工作性质以及你申请的职位。构建项目,面对问题,解决问题,你会学到更多关于Django的知识。这就是你如何为 Django 面试问题做好更充分的准备。

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: