Das perfekte Fachgespräch - IHK-Prüfung zum Fachinformatiker Anwendungsentwicklung
Hallo, mein Name ist Stefan Macke.
Ich bin seit 2009 Ausbilder für Fachinformatiker (mit Fachrichtung Anwendungsentwicklung) und ehrenamtlicher IHK-Prüfer bei der Oldenburgischen Industrie- und Handelskammer.
In den mündlichen Prüfungen angehender Anwendungsentwickler stelle ich leider immer wieder fest, dass die absoluten Grundlagen der Programmierung und insb. der Objektorientierung bei vielen Prüflingen fehlen. Das geht schon bei einfachen Fragen wie der Unterscheidung von Objekt und Klasse los. An tiefergehende Fragestellungen zur Polymorphie und dem Einsatz von Interfaces und abstrakten Klassen ist dann häufig gar nicht zu denken.
Ebenso weisen viele Prüflinge große Lücken im Bereich der relationalen Datenbanken auf. Es geht noch nicht einmal um moderne Ansätze wie NoSQL, sondern um Grundlagen, die eigentlich jeder Entwickler kennen sollte: Normalisierung, Entity-Relationship-Model oder SQL.
Daher habe ich die grundlegenden Fragen rund um Programmierung und Objektorientierung sowie Datenbanken und Datenmodellierung in zwei Hörbüchern verarbeitet, die dir bei der Vorbereitung auf dein Fachgespräch helfen sollen.
Beide Hörbücher kannst du hier kaufen:
- Programmierung und Objektorientierung (4:30 Stunden)
- Datenbanken und Datenmodellierung (5:30 Stunden)
- Paket aus beiden Hörbüchern (spare 25%!)
Beispiel-MP3s zum Thema Objekte (Programmierung) und NoSQL (Datenbanken)
Damit du dir einen Eindruck der Inhalte und der Audioqualität machen kannst, habe ich hier zwei komplette Kapitel der Hörbücher zum Anhören und Download für dich.
- Objekte (Programmierung und Objektorientierung)
Probekapitel: Objekte (MP3, 14 MB). - NoSQL (Datenbanken und Datenmodellierung)
Probekapitel: NoSQL (MP3, 8 MB).
Übersicht der Kapitel und Liste aller Fragen
Hier siehst du eine Liste aller Kapitel inkl. der jeweiligen Dauer. Außerdem kannst du dir zu jedem Kapitel alle beantworteten Fragen anschauen, damit du dir ein genaues Bild davon machen kannst, ob die Hörbücher dir weiterhelfen.
Insgesamt sind die Hörbücher 4:30 Stunden (Programmierung) und 5:30 Stunden (Datenbanken) lang.
Allgemeine Fragen (in beiden Hörbüchern enthalten)
Fragen zum Hörbuch
- Sollte ich das Hörbuch von vorne bis hinten durchhören?
- Wofür sind die Sprungmarken wichtig?
- Sollte ich die Fragen aus diesem Hörbuch auswendig lernen?
- Wofür ist die Liste der Fragen mit Kurzantworten wichtig?
- Ich habe noch eine konkrete Frage. Wie kann ich dich kontaktieren?
Allgemeine Hinweise zur Beantwortung von Fragen im Fachgespräch
- Wie bereite ich mich am besten auf das Fachgespräch vor?
- Werden nur Fragen zu meinem Projekt gestellt.
- Welche Fragen werden besonders häufig gestellt?
- Kann ich die Fragen der Prüfer beeinflussen?
- Wie fragen die Prüfer?
- Warum fragen die Prüfer so komisch?
- Worauf sollte ich bei meinen Antworten unabhängig vom fachlichen Inhalt achten?
- Wie muss ich antworten, um eine 1 zu bekommen?
- Wie verhalte ich mich, wenn ich seltsame Reaktionen der Prüfer bemerke?
- Wie antworte ich auf sehr konkrete/gezielte Fragen?
- Wie antworte ich auf völlig offene/schwammige Fragen?
- Wie sollte ich meine Antwort aufbauen/strukturieren?
- Wie verhalte ich mich, wenn ich die Frage nicht verstehe?
- Sollte ich Gegenfragen stellen?
- Darf ich über die Antwort kurz nachdenken?
- Wie verhalte ich mich, wenn ich die Antwort nicht weiß?
- Ist es schlimm, wenn die Prüfer mich unterbrechen.
- Ist es ein schlechtes Zeichen, wenn ich zu konkreten Folien meiner Präsentation gefragt werde?
- Wie reagiere ich auf spontane Themenwechsel?
- Sollte ich die Tafel als Hilfsmittel nutzen?
Programmierung und Objektorientierung
Allgemeines
Code
- Was sind Quellcode und Maschinencode?
- Was ist ein Compiler und was macht er?
- Was ist der Unterschied zwischen Kompilierzeit (compile time) und Laufzeit (runtime)?
- Was ist Bytecode?
- Was sind Compiler und Interpreter?
Code-Bestandteile
- Welche Klammern gibt es in Programmiersprachen und wie heißen sie auf Englisch?
- Was ist ein Ausdruck?
- Was ist eine Anweisung?
- Was ist ein Block?
- Was ist ein Kommentar?
Nomenklatur
- Was ist die Domäne eines Programms?
- Was bedeutet Camel Case, Pascal Case und Snake Case?
- Was heißt case-sensitive?
Datentypen
- Was ist eine Variable?
- Was ist ein Datentyp?
- Was ist die Deklaration einer Variablen?
- Was ist die Initialisierung einer Variablen?
- Was ist ein Literal?
- Was ist der Gültigkeitsbereich (scope) einer Variablen?
- Was ist ein Cast?
- Was ist
null
? - Welche drei grundlegenden Datenstrukturen gibt es?
- Welche Vorteile bieten Listen gegenüber Arrays?
- Was ist ein Overflow?
- Was ist ein Array?
- Was bedeuten statische und dynamische Typisierung?
- Was bedeutet Typsicherheit?
- Was bedeuten starke und schwache Typisierung?
Operatoren
- Was macht der Modulo-Operator?
- Was ist Konkatenation?
- Was sind unäre Operatoren?
- Was ist der ternäre Operator?
Algorithmen
- Was ist ein Algorithmus?
- Welche drei grundlegenden Bestandteile kann eine Algorithmus haben?
- Welche zwei grundlegenden Formen von Schleifen gibt es?
- Welche anderen Formen von Schleifen gibt es noch?
- Was ist Rekursion?
- Was sind Vor-/Nachteile von Rekursion?
- Muss man Rekursion einsetzen?
Prozeduren und Funktionen / Methoden
- Was ist der Unterschied zwischen Prozedur und Funktion?
- Was ist eine Methode?
- Wann und warum schreibt man Methoden?
- Was ist die Signatur einer Methode und welche Bestandteile hat sie?
- Welche Teile der Methodensignatur müssen eindeutig sein?
- Was bedeutet das Überladen von Methoden?
- Was macht die
return
-Anweisung? - Was kennzeichnet das Schlüsselwort
void
? - Welche Auswirkung hat die Änderung des Wertes eines Methodenparameters für den Aufrufer?
- Was ist der Unterschied zwischen call by value und call by reference?
Objektorientierung
- Was ist Objektorientierung?
- Was sind die drei wichtigsten Konzepte der Objektorientierung?
- Was ist ein Programmierparadigma?
- Welche Programmierparadigmen gibt es?
- Was sind die Vorteile der Objektorientierung?
- Was bedeutet idiomatische Programmierung?
Objekte
- Was ist ein Objekt?
- Was ist eine Klasse?
- Was ist der Unterschied zwischen Objekt und Klasse?
- Was sind die Member einer Klasse?
- Was sind statische Member?
- Was sind Vor-/Nachteile von statischen Methoden?
- Was bedeutet Instantiierung?
- Wie instantiiert man ein Objekt?
- Was ist eine Instanzvariable?
- Wie kann man Instanzvariablen initialisieren?
- Was ist ein Feld?
- Was ist eine Methode?
- Was bedeutet es, eine Nachricht an ein Objekt zu senden?
- Wie referenziert man im Code das aktuelle Objekt?
Konstruktoren
- Was ist ein Konstruktor?
- Was ist die Aufgabe eines Konstruktors?
- Wie definiert man einen Konstruktor?
- Welche Parameter sollte ein Konstruktor haben?
- Was ist ein Default-Konstruktor?
Kapselung
- Was ist Kapselung?
- Was wird in einem Objekt gekapselt?
- Wie steuert man die Sichtbarkeit von Attributen und Methoden von Klassen?
- Wie steuert man den Zugriff auf Instanzvariablen?
- Was sind Getter und Setter?
- Welchen Vorteil haben Setter im Vergleich zu
public
Attributen? - Welchen Vorteil haben Getter im Vergleich zu
public
Attributen? - Warum verwendet man Getter/Setter anstatt Attribute sichtbar zu machen?
Vererbung
- Was ist Vererbung?
- Wie heißen die vererbende und erbende Klasse?
- Welche Member sind in der Subklasse verfügbar?
- Was ist eine abstrakte Klasse?
- Was ist eine abstrakte Methode?
- Was bedeutet es, eine Methode zu überschreiben?
- Kann man die Vererbung auch einschränken?
- Wie greift man in einer Klasse auf Member der Basisklasse zu?
- Kann man von mehreren Klassen erben?
- Was ist der Unterschied zwischen dem Überladen und dem Überschreiben von Methoden?
Polymorphie
- Was ist Polymorphie?
- Was ist ein Interface?
- Was ist der Unterschied zwischen einem Interface und einer abstrakten Basisklasse?
- Wann nutzt man ein Interface bzw. eine abstrakte Basisklasse?
- Was ist parametrische Polymorphie (auch Generics)?
Sonstiges
- Was sind Exceptions?
- Was ist Refactoring?
- Was ist Typinferenz?
- Was sind generische Klassen?
- Was sind Ko- und Kontravarianz?
- Was sind Lambda-Ausdrücke?
- Was sind Design Patterns?
Datenbanken und Datenmodellierung
Konzepte
Datenbanken
- Was ist eine Datenbank?
- Welche Vorteile hat eine Datenbank gegenüber anderen Speicherformen?
- Welche Formen von Datenbanken gibt es?
- Welche Datentypen gibt es üblicherweise in Datenbanken?
- Was ist eine In-Memory-Datenbank?
- Was ist Redundanz?
- Was ist Replikation?
Schlüssel
- Was ist ein Primärschlüssel?
- Was ist ein Fremdschlüssel?
- Was sind zusammengesetzte Schlüssel?
- Was sind natürliche und künstliche Schlüssel?
- Was sind anonyme Schlüssel?
Relationale Datenbanken
- Welche bekannten relationalen Datenbanken gibt es und wie heißen ggfs. die Hersteller?
- Was ist das grundlegende Konzept von relationalen Datenbanken?
- Was ist der Vorteil relationaler Datenbanken?
- Wie sind relationale Datenbanken aufgebaut?
- Welche Kardinalitäten gibt es und was sind Beispiele?
- Wie werden die einzelnen Kardinalitäten (1:1, 1:n, m:n) in Tabellen umgesetzt?
- Was bedeutet referentielle Integrität?
- Welche technischen Maßnahmen zur Wahrung der referentiellen Integrität gibt es?
- Was ist ein ORM?
Transaktionen
- Was ist eine Transaktion?
- Was sind die ACID-Kriterien?
- Was bedeutet Atomarität?
- Was bedeutet Konsistenz?
- Was bedeutet Isolation?
- Was bedeutet Dauerhaftigkeit?
- Was ist das BASE-Prinzip?
- Was bedeutet Basically Available?
- Was bedeutet Soft State?
- Was bedeutet Eventual Consistency?
NoSQL
- Was ist NoSQL und wofür braucht man das?
- Welche Arten von NoSQL-Datenbanken gibt es?
- Wie funktionieren spaltenorientierte Datenbanken?
- Wie funktionieren objektorientierte Datenbanken?
- Wie funktionieren Key-Value-Stores?
- Wie funktionieren Dokumentendatenbanken?
- Wie funktionieren Graphendatenbanken?
- Welche bekannten NoSQL-Datenbanken gibt es und wie heißen ggfs. die Hersteller?
Weiterführende Themen
- Was ist das CAP-Theorem?
- Was ist ein Data Warehouse?
- Was ist ein OLAP-Würfel?
- Was ist Big Data?
- Welche drei Dimensionen gibt es bei Big Data?
Modellierung
Entity-Relationship-Model
- Was sind Entität und Entitätstyp?
- Was sind starke und schwache Entitäten?
- Was ist ein Entity-Relationship-Model?
- Welche Bestandteile hat ein Entity-Relationship-Model (ERM) und wie sehen sie (in der Chen-Notation) aus?
- Wie bestimmt man die Kardinalität einer Beziehung?
- Wie entwickelt man methodisch ein ER-Modell?
Tabellenmodell
- Was ist ein Tabellenmodell?
- Was ist der Unterschied zwischen ERM und Tabellenmodell?
- Was ist eine Relation?
- Welche Bestandteile hat ein Tabellenmodell?
- Wie funktioniert die Crow's Foot Notation?
- Welche Metainformationen zu den Spalten sollten in einem Tabellenmodell enthalten sein?
- Wie überführt man ein ER-Modell methodisch in ein Tabellenmodell?
Normalisierung
- Warum werden Datenbanken normalisiert?
- Welche Anomalien gibt es und was sind Beispiele dafür?
- Welche Normalformen gibt es?
- Was ist der Unterschied zwischen nicht-atomaren Werten und Wiederholungsgruppen?
- Auf welcher Stufe der Normalisierung werden die 1:n- bzw. m:n-Beziehungen aufgelöst?
- Müssen alle Datenbanken immer normalisiert werden?
SQL
- Was ist SQL?
- Was bedeutet CRUD?
- Was sind die Untergruppen von SQL und was sind übliche Statements?
- Was bedeuten Selektion und Projektion?
- Wie sieht ein übliches
SELECT
-Statement aus? - Was macht ein
SELECT DISTINCT
? - Was macht
LIKE
? Welche Zeichen sind als Platzhalter erlaubt? - Was sind Schnitt-, Vereinigungs- und Differenzmenge?
- Welche Befehle nutzt man dafür?
- Was ist ein Kreuzprodukt?
- Welche Arten von
JOIN
s gibt es? - Welche Möglichkeiten gibt es in SQL, Joins zu formulieren?
- Was ist eine Aggregatsfunktion?
- Was macht ein
GROUP BY
? - Was macht
HAVING
? - Was ist ein Subselect/Subquery?
- Was ist ein Full Table Scan?
Sonstiges
- Was ist ein Index?
- Was sind Stored Procedures?
- Was sind Trigger?
- Was sind Views?
- Kann man Views updaten?
- Was ist ein Constraint?
- Was ist eine Sequence?
- Wie werden neue Schlüsselwerte erzeugt?
- Häufige Fehler bei der Datenmodellierung
- Was ist SQL Injection?
Mögliche Fragen zum Abschlussprojekt
- Warum wurde die konkrete Datenbank gewählt?
- Warum wurde eine relationale Datenbank gewählt?
- Wie ist das Datenmodell entstanden?
- Welche Alternativen gibt es zu relationalen Datenbanken?
- Hätte man auch eine NoSQL-Datenbank verwenden können und wenn ja, welche?
- Welche Beziehungen bestehen zwischen den zentralen Entitäten und welche Kardinalitäten gibt es?
FAQ zu den Hörbüchern
Gibt es die Antworten auf die Fragen auch in schriftlicher Form?
Ja. Zusätzlich zum jeweiligen Hörbuch enthält dein Download eine PDF-Datei mit allen Fragen und Antworten.
Verwenden die Hörbücher irgendeinen Kopierschutz?
Nein.
Was ist, wenn die Hörbücher mir nicht gefallen oder ich sie nicht gebrauchen kann?
Du kannst die Hörbücher innerhalb von 14 Tagen nach dem Kauf gegen die Erstattung des Kaufpreises zurückgeben.
Warum kosten die Hörbücher überhaupt Geld?
Gute Arbeit ist nicht immer kostenlos zu haben. Wenn du trotzdem lieber kostenfreie Inhalte nutzen möchtest, hör doch mal in meinen Anwendungsentwickler-Podcast rein.
Hörbücher zur Prüfungsvorbereitung jetzt kaufen
Du kannst die Hörbücher zur Vorbereitung auf das Fachgespräch mit allen obigen Fragen zu Programmierung und Objektorientierung bzw. Datenbanken und Datenmodellierung jetzt gleich mit wenigen Klicks kaufen. Die Kaufabwicklung erfolgt über Digistore24.
- Über 100 Fragen rund um die Themenbereiche Programmierung und Objektorientierung.
- Über 90 Fragen zu Datenbanken und Datenmodellierung.
- 4:30 Stunden bzw. 5:30 Stunden zielgerichtete Prüfungsvorbereitung.
- Zusätzlich 20 Tipps (1:00 Stunde) zur Beantwortung der Fragen im Fachgespräch.
- Du bekommst jedes Kapitel als einzelne DRM-freie MP3-Datei.
- Sprungmarken zu den einzelnen Fragen liegen in separaten Textdateien bei.
- Zusätzlich sind alle obigen Fragen inkl. Antworten im PDF-Format enthalten.
- Außerdem bekommst du noch eine hilfreiche Checkliste für den Tag der mündlichen Prüfung.
Paket aus beiden Hörbüchern (spare 25%!)