Leitfaden für technische Interviews mit Acing Ruby on Rails

EINLEITUNG

Wenn Sie sich jemals für Positionen beworben haben, die höher sind als Ihr aktuelles Niveau, oder einfach nur Ihren aktuellen Job wechseln möchten, besteht die Möglichkeit, dass Sie frustriert sind, wenn Sie technische Vorstellungsgespräche nicht bestehen. Wenn Sie über die erforderlichen Fachkenntnisse und Erfahrungen verfügen, es aber dennoch nicht schaffen, müssen Sie sich nicht schlecht fühlen. Obwohl der Interviewer Sie aufgrund des Ergebnisses Ihres Interviews beurteilt hat. Damit sind Sie nicht allein. So viele Entwickler standen vor diesem Problem, nicht weil sie für den Job nicht geeignet wären, sondern es in diesem Moment einfach nicht schaffen würden.

In so vielen Beiträgen werden frühere Interviewfragen gestellt, Sie müssen viele davon gelesen haben, aber in Ihrem Interview wurde keine davon gestellt. Sie hätten es jedoch mit Bravour meistern können, wenn Sie die Themen wüssten, die gestellt werden würden.

Wenn Sie jemals aufgeben wollten, tun Sie es bitte nicht. „NICHT AUFGEBEN“, halte dich fest, du machst einen Unterschied. Sie könnten nur eine Information von Ihrem nächsten Ruby on Rails-Interview entfernt sein.
Dieser Beitrag zielt darauf ab, die Bereiche aufzuzählen, die häufig in einem Ruby on Rails-Interview gefragt werden, einschließlich fortgeschrittener Konzepte zu Ruby/Ruby on Rails, die Sie für Ihr technisches Interview auf den Boden bringen würden.
Gehen Sie diesen Beitrag durch, bevor Sie ein technisches Interview mit Ruby on Rails versuchen. Und fühlen Sie sich frei, zusätzliche Überschriften anzugeben, die einem Ruby on Rails-Ingenieur in einem technischen Interview helfen könnten.

1. Die Ruby-Wahrheits- und Gleichheitsoperatoren

In Ruby wird false und nil zu false ausgewertet, alles andere ist wahr.
Lesen Sie hier mehr: Wahrhaftigkeit in Rubin

Bei der Ruby-Gleichheit funktionieren mehrere Operatoren unterschiedlich. Haben Sie den Unterschied zwischen ==, eql?, equal? und === Operatoren.
== teste den Unterschied zwischen zwei Objekten
eql wird von hash verwendet, um auf denselben Hash-Schlüssel zu testen.
Gleich? Überprüft, ob zwei Operanden auf dasselbe Objekt verweisen.
=== Der Case-Gleichheitsoperator prüft, ob das Objekt auf der rechten Seite ein Mitglied des Objekts auf der linken Seite ist.

Lesen Sie hier mehr: Unterschied-zwischen-gleich-gleich-in-rubin

2.Objektorientierte Programmierung.

Sie haben gehört, dass in Ruby alles ein Objekt ist. Dies ist das Objektparadigma. was bedeutet, dass in der Ruby-Sprache alles ein Objekt ist. Diese Objekte, unabhängig davon, ob es sich um Zeichenfolgen, Zahlen, Klassen, Module usw. handelt, arbeiten in einem System namens Objektmodell. Hier weiterlesen…

  1. warum objektorientierte programmierung

  2. Ruby-Objekt-Modell

3. Codequalität

Schreiben Sie mit Leidenschaft Clean Ruby Code.
Machen Sie sich mit Ruby/Rails-Code-Geruchserkennungstools vertraut.
Beispiele sind: Reek, Rubocop, Rails Best Practices, Brakeman etc.
Lesen Sie mehr unter den folgenden Links:

  1. ruby-on-rails-code-optimierung-und-bereinigung

  2. check-my-code-tipps-um-ruby-codes-geruchsfrei zu halten

  3. Gestank: Code-Geruchsdetektor für Ruby

4. Geeignete Entwurfsmuster kennen und anwenden

SOLID-Design ist ein guter Ausgangspunkt. Auch schöpferische, verhaltensbezogene und strukturelle Entwurfsmuster sind eine Überprüfung wert.
Dies hilft nicht nur, Code zu verstehen, der von anderen Ingenieuren geschrieben wurde, sondern gibt Ihnen auch ein Gefühl dafür, geeignete Ansätze zur Lösung eines Problems zu verstehen.

  1. Ruby-Solid-Design-Prinzipien
  2. Designmuster
    Sehen Sie sich das Ruby-Codebeispiel für jedes Muster wie folgt an
  3. Designmuster Ruby Beispiel

5. Spott: Doubles, Stubs, Mock und Spies

Es reicht nicht aus, TDD/BDD zu üben, indem man einfach einfache Testfälle schreibt. Die Kandidaten müssen über die notwendigen Fähigkeiten zum Spotten verfügen. (Test Doubles, Stubs, Mock und Spies).

Nachfolgend finden Sie Definitionen dieser Konzepte:

„Ein Test-Double ist eine vereinfachte Version eines Objekts, das es uns ermöglicht, „gefälschte“ Methoden und ihre Rückgabewerte zu definieren.“

„Ein Methoden-Stub ist eine Implementierung, die einen vordefinierten Wert zurückgibt. ”

„Ein Mock ist ein Stummel mit einer eingebauten Erwartung, die während des Tests erfüllt werden muss. ”

„Spione sind Objekte, die standardmäßig alle Methoden akzeptieren können, ohne eine Ausnahme auszulösen, und die den Verlauf der von ihnen aufgerufenen Methoden speichern. ”

Um sie in Aktion zu sehen, lesen Sie die folgenden Beiträge.

RSpec Basic: Verwenden von Testdoubles

der-unterschied-zwischen-mockstubs-und-spionen

6. Module und Mixins

Ruby unterstützt die einfache Vererbung, was bedeutet, dass eine Klasse nur von einer einzigen Klasse erben kann. Module und Mixins spielen eine wichtige Rolle bei der Überwindung dieser Einschränkung zugunsten der Komposition gegenüber der Vererbung. Es ermöglicht der Anwendung, Code an anderen Stellen zu teilen.

Beachten Sie 3 Möglichkeiten, ein Modul in eine Klasse zu importieren.

1. über das Schlüsselwort include
Beim Importieren eines Moduls mit einer Include-Anweisung wird das Modul in die Vorfahrenkette der Klasse eingefügt, die das Modul importiert. Auf die Modulmethoden kann über die Instanz der Klasse zugegriffen werden.

2. über Schlüsselwort erweitern
Beim Importieren eines Moduls mit einer Include-Anweisung werden die Modulmethoden als Klassenmethoden importiert.

3. über vorangestelltes Schlüsselwort
Es funktioniert ähnlich wie include, das Modul wird am Ende der Kette noch vor der Klasse eingefügt. Methodenaufrufe auf Klasseninstanzen werden zuerst in den Modulmethoden vor den Klassenmethoden nachgeschlagen.
Lesen Sie hier mehr:

  1. ruby-module-include-vs-prepend-vs-extend

  2. Verwenden-von-Mixins-und-Modulen-in-Ihrer-Ruby-on-Rails-Anwendung

7. Rails-Sicherheit: CSRF-Token

Das CSRF-Token wird von Rails verwendet, um Cross-Site-Request-Forgering-Angriffe zu verhindern. Rails vergleicht das Token von der Seite mit dem Token vom Sitzungscookie, um sicherzustellen, dass sie übereinstimmen.

Als Rails-Entwickler erhalten Sie den CSRF-Schutz grundsätzlich kostenlos. Es beginnt mit dieser einzelnen Zeile in application_controller.rbwodurch der CSRF-Schutz aktiviert wird:

protect_from_forgery with: :exception

Als nächstes kommt diese einzelne Zeile rein application.html.erb

<%= csrf_meta_tags %>

Lesen Sie hier mehr ein-tiefer-einblick-in-den-csrf-schutz-in-schienen

8. Nur Rails-API-Anwendung und Nutzung der Drittanbieter-API

Verwenden von Rails zum Erstellen eines Back-Ends, das von Web- und nativen Anwendungen gemeinsam genutzt wird.
Lesen Sie die folgenden Links:

  1. Anfänger-Leitfaden-zum-Bau-einer-Rails-API

  2. binar-academy/simple-rails-api-server-using-simple-tdd

9. Lazy Loading vs. Eager Loading in Rails, wann man es benutzt

  1. was-ist-faul-laden-in-schienen
  2. Verbesserung-der-Leistung-Ihrer-Rails-App-durch-eifriges-Laden
  3. bessere-leistung-für-rails-app-mit-joins-und-eager-loading
  4. Joins-vs-preload-vs-includes-vs-eager-load-in-rails

Top-8-Tools-für-Ruby-on-Rails-Code-Optimierung-und-Bereinigung

11. Neueste Funktionen in Rails

Neueste Rails-Funktionen

12. Activerecord Association und Selbstbeitritt

ruby-on-rails-active-record-assoziationen

13. Serviceorientierte Architektur

  1. serviceorientierte-architektur-schienen
  2. gebäudeserviceorientierte-architektur-mit-schienen-und-kafka

14. Implementierung von Websockets in Ruby on Rails (Action Cable)

ruby-on-rails-websockets-und-actioncable

15. Klassen und Dienstobjekte

Ein Dienstobjekt in Rails ist ein einfaches altes Ruby-Objekt, das für eine bestimmte Geschäftsaktion erstellt wurde. Dies ist Code, der außerhalb der Modell-, Controller- oder Ansichtsebene geschrieben wurde. Es könnte eine POST-Anforderung sein, um eine Transaktion an eine Drittanbieter-API zu senden.

  1. Verwendung von Dienstobjekten in Ruby-on-Rails
  2. refactor-ruby-rails-service-object

16. Actionmailer und E-Mail in Schienen

sende-e-mails-in-rails-mit-action-mailer-und-gmail

17. CI/CD- und Cloud-Bereitstellung

Continuous Integration (CI)-Pipeline ist heute die Norm für moderne Anwendungen. Es gibt viele CI/CD-Pipeline-Technologien, und von einem Entwickler wird erwartet, dass er mit einigen von ihnen vertraut ist.
Nachfolgend finden Sie Tutorials zu CI/CD-Pipelines.

  1. Schienen-Durchgängige-Integration
  2. set-up-ci-cd-for-rails-app-using-github-actions-aws-beanstalk
  3. einrichtung-einer-rails-app-fur-codebuild-codedeploy-und-codepipeline-auf-aws

18. Rack-Anwendung

Rack ist die zugrunde liegende Technologie hinter fast allen Web-Frameworks in der Ruby-Welt.
Das Rack bietet eine minimale, modulare und anpassbare Schnittstelle für die Entwicklung von Webanwendungen in Ruby.
Rack wird von Rails und Sinatra verwendet. Hier erfahren Sie mehr darüber:

  1. Rack-Technologie
  2. definitive Anleitung zum Rack

19. Problemlösung – Algorithmus und Datenstruktur

Das ist wie eine Konstante nach einem Gespräch, bei dem jeder Gesprächspartner Ihnen ein Problem zur Lösung geben könnte. Egal wie wenig es sein mag. Ich empfehle zu üben mit: Leetcode-Fragen
und Hacker-Rang Hacker Rank Interview-Vorbereitungs-Kit

20. Fortgeschrittenes ActiveRecord-Abfragen und -Caching.

  1. Advanced-ActiveRecord-Abfrage
  2. Ausführen-einer-SQL-Abfrage-direkt-aus-aktivemDatensatz

Caching:

  1. Schienen-Low-Level-Caching
  2. Ruby-on-Rails-Cachings

Zusammenfassung

Die Vorbereitung ist von größter Bedeutung, um jedes technische Interview zu bestehen. Dieser Beitrag stellt kritische Bereiche vor, die sorgfältig ausgewählt wurden, damit Sie sie immer zur Hand haben, bevor Sie sich einem technischen Ruby-Interview nähern. Es ist nur ein Leitfaden, der Ihnen hilft, Ihr Gedächtnis in Bereichen aufzufrischen, die Sie leicht vergessen können.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *