📜  顶级41 Magento面试问题

📅  最后修改于: 2021-01-06 10:12:26             🧑  作者: Mango

Magento面试问题

在许多公司中,Magento都提供了面试问题和答案。让我们看一下最热门的Magento面试问题列表。

1)定义Magento。

Magento是一个用PHP编写的电子商务平台,并在开源许可证下发布。它由Varien,Inc.在2008年3月31日发布。它为在线商家提供了外观和内容上的灵活性和控制力。

2)Magento的最初发布日期是什么?

Magento最初于2008年3月31日发布。

3)描述Magento的各种版本。

以下是Magento的不同版本:

  • Magento企业版
  • Magento社区版
  • Magento专业版
  • Magento .go版

4)解释Magento的体系结构。

Magento是典型的MVC应用程序,其中控制器保留在一个位置,而模型保留在另一个位置。

5)Magento使用什么技术?

在Magento中,PHP被用作脚本语言,而MySQL被用作数据库。

6)解释Magento的某些功能?

Magento具有以下基本功能。

  • SEO友好
  • Google Sitemap支持
  • 客户账户
  • 管理订单
  • 报告与分析
  • 现场管理
  • 付款
  • 营销推广和工具
  • 国际支持
  • 极度模块化的架构

7)Magento的局限性是什么?

Magento有以下限制。

  • 由于它是用PHP编写的,因此与其他平台相比,它的性能较慢。
  • 它会占用更多的内存空间。在繁重的过程中,它可能消耗GB的RAM。
  • 如果没有面向对象的编程,它可能会变得很复杂。

8)如何提高Magento的性能?

有多种提高Magento性能的方法。

  • 禁用所有未使用的模块
  • Magento缓存
  • 优化您的服务器
  • 使用内容传送网络(CDN)
  • 将样式表放在顶部
  • 将脚本放在最下面
  • 避免CSS表达式
  • 禁用Magento日志
  • 改善形象

9)如何使Magento对客户更安全。

您可以按照以下说明来提高磁电机的安全性。

  • 使用一些复杂的密码,并不时更改它们。
  • 不要让Magento Content Manager远程访问。
  • 不要在生产站点上提供下载工具。

10)在Magento中创建什么类型的Web应用程序。

Magento主要用于购物车软件。

11)Magento中的EAV是什么?

EAV代表实体属性值。它是一项技术,可帮助用户虚拟地向其表中添加无限列。

12)在Magento的EAV模块中将创建多少张表?给它们命名。

EAV模块将在数据库中创建6个表。

它们如下:

13)解释EAV和平面模型之间的区别。

EAV数据库模型已完全归一化。每列的值都存储在各自的数据类型表中,这使它变得更加复杂,因为即使您只需要一个细节,它们也必须联接5-6个表。在EAV中,列称为属性。

平面模型仅使用一张桌子。它未规范化,并使用了更多的数据库空间。对于动态需求而言,这是不好的,因为将来可能需要添加更多的列。它的性能很快,因为它只需要一个查询,而不需要联接5-6个表。在平面模型中,列称为字段。

14)Magento产品有哪些类型?

  • Magento简单产品:用于单个项目,没有任何特定的可选变体。例如,笔,副本等。
  • Magento分组产品:用于Magento简单产品的组合。例如,一支笔和副本一起。
  • Magento可配置产品:用于具有特定可选变体的单个项目。例如,一支笔具有不同的颜色选项。
  • Magento虚拟产品:用于虚拟物品,即:不可触摸的物品。例如,预订,保险等。
  • Magento捆绑产品:用于捆绑简单产品。例如,笔记本电脑上装有各种物品,例如处理器,硬盘,RAM等。
  • Magento可下载产品:用于在线软件项目。例如,PowerPoint演示文稿,MP3文件,服务器等。

15)解释Magento中Mage :: getModel()和Mage :: getSingletone()之间的区别。

  • Mage :: getModel():它创建一个新对象。
  • Mage :: getSingletone():它首先检查对象的存在,如果对象不存在,则创建一个新对象。

16)在Magento中解释ORM。

ORM代表对象关系映射。它是一种编程技术,用于将不同类型的数据转换为对象,反之亦然。

ORM有两种类型:

  • 将不同类型的数据转换为对象。
  • 将对象转换为各种类型的数据。

17)解释Magento中的不同模块。

  • 核心模块
  • 商业模块
  • 社区模块

18)如何更改登录用户的主题?

要更改登录用户的主题,

if(Mage::getSingleton('customer/session')->isLoggedIn()):
Mage::getDesign()->setPackageName('package_name')->setTheme('themename');
endif;

19)如何将外部JavaScript / CSS文件添加到Magento?

css/yourstyle.css

要么

skin_jsjs/ yourfile.js
skin_csscss/yourstyle. css

20)说明在模块的PHTML文件中调用CMS页的语法。

$this->getLayout()->createBlock('cms/block')->setBlockId('blockidentifier')->toHtml();

21)什么时候需要清除缓存以查看Magento中所做的更改?

添加或修改XML,CSS或JS文件后。

22)如何在Magento中运行自定义查询?

要运行自定义查询,

$db = Mage::getSingleton('core/resource')->getConnection('core_write');
$result=$db->query('SELECT * FROM users where id=4');

23)如何在前端启用产品的自定义属性可见性?

管理下的自定义属性属性部分,选择Yes(是)“可见对前端产品查看页面”和“使用过的产品清单中”。

24)说明在Magento中创建自定义模块时名称空间是否是必需的?

不,创建自定义模块时名称空间不是必需的。

25)Magento是否可以有多个网格?

对的,这是可能的。

26)列出Magento中的魔术方法吗?

Magento中的魔术方法:

  • __得到()
  • __组()
  • __isset()
  • __呼叫()
  • __tostring()
  • __构造()
  • __具有()
  • __uns()

27)会议有几种类型?为什么我们在Magento中使用不同的会话?

Magento中有三个会议:

  • 客户会议
  • 结帐会话
  • 核心会议

所有这些会话仅存储在一个会话中。我们使用不同的会话,因为有时我们只需要清除特定的会话数据,而不必清除所有会话数据。

28)如何重置Magento文件和目录权限?

将目录更改为安装了Magento的目录,然后执行以下命令。

1。

find. -type d -exec chmod 755

2。

chmod+x magento 

29)如何使Magento与其他域一起使用?

为了让Magento使用其他域,可以更改Magento base的URL选项。

按着这些次序:

  • 选择Magento管理员-?系统?配置,然后单击Web。
  • 选择不安全的选项
  • 替换归档的基本URL

30)您将如何从Magento的收藏中获得第一件和最后一件物品?

$collection->getFirstItem() and $collection->getLastItem();

31)解释在Magento中使用名称空间吗?

Magento核心模块放置在mage名称空间, core / Mage / Catalog中,所有自定义模块放置在local / CustomModule中。

您可以有多个具有相同名称的模块,但是它们需要放置在不同的名称空间中。

32)解释Magento的句柄吗?

句柄控制要显示的页面的结构。它决定将哪个块放置在页面中的哪个位置。每个页面都会调用句柄,每个页面请求可以具有多个唯一的句柄。

33)解释Magento中的编译功能吗?

编译功能使我们可以编译所有Magento文件,以创建一个包含路径以提高性能。

34)如何在Magento中启用维护模式?

创建一个名为maintenance.flag的文件,并将其上传到包含以下代码的Magento主目录。

$maintenanceFile = 'maintenance.flag';
 
if (file_exists($maintenanceFile)) {
    include_once dirname(__FILE__) . '/errors/503.php';
    exit;
}

35)如何在Magento中将默认货币转换为其他货币?

要将默认货币转换为其他货币,请选择货币,然后从系统->管理货币->汇率中导入货币汇率。

句法:

$convertedPrice = Mage::helper('directory')->currencyConvert($price, currentCurrency, newCurrency);    

36)在Magento中说明Google Checkout。

Magento允许在线商店与Google Checkout集成。 Google Checkout是Google提供的在线支付服务。它的工作方式类似于PayPal。

37)说明如何更改Magento核心API设置?

您必须按照以下步骤更改Magento核心API设置。

  • 进入管理菜单,选择系统->配置
  • 在“配置”面板左侧的“服务”下,选择Magento Core API。
  • 单击以展开“常规设置”部分
  • 您要使用的默认响应字符集的名称
  • 确定客户端会话超时(以秒为单位)
  • 完成后单击“保存配置”按钮

38)是否可以通过Magento管理所有账单信息?

您可以通过客户Magento帐户执行以下操作:

  • 您可以更新您的帐单地址。
  • 您可以添加信用卡。
  • 您可以查看帐单记录。
  • 您可以添加PayPal帐户。
  • 您可以出示可print的收据。

39)在Magento中应用Connect Patches有什么优势?

在Magento中,应用Connect Patches具有以下功能:

  • 通过安装轻松安装软件包,并同时覆盖所有现有翻译
  • 增强安全性,默认情况下,Magento Connect使用HTTP下载扩展而不是FTP
  • 方便扩展开发与名称中有连字符创造新的扩展
  • 现在将通知Magento管理员,他们试图安装没有足够文件系统特权的扩展。

40)如何在Magento中以编程方式获取5个畅销产品?

Mage::getResourceModel('reports/product_collection')
->addOrderedQty()
->addAttributeToSelect('*')
->setPage(1, 5)
->load();

41)什么是codePool?

代码池是一种以Magento结构化格式提取代码的概念。在app / etc / modules / Company_Module.xml中注册新模块时指定

Magento中有3个codePool:核心,社区和本地,它们位于app / code /目录中。

代码池:

_community:通常由第三方扩展使用。

_core:由Magento核心团队使用。

_local:应使用本地codePool进行小时内模块开发,并根据自定义要求覆盖核心模块和社区模块。

驻留目录:

_app

_码

简而言之,您可以说codePool可帮助Magento在app / code /中定位模块以进行处理