Hab den ersten Platz bei einer(!) Performance-Code-Challenge auf https://codegolf.stackexchange.com/ gemacht. Das war mein Highlight 2024, zumal Java ja nicht dafür bekannt ist, besonders schnell zu sein.
Aber na ja … kluges Köpfchen eben.
Link or it didn’t happen
Geht nicht, ich lege Wert auf Anonymität… auch wenn manche User das nicht gerne sehen.
Ich lege auch großen Wert auf Anonymität. Und ich werde versuchen, das zu berücksichtigen, gerade wegen deines üblichen Verhaltens hier im Forum: Ich gehe davon aus… oder hoffe? … dass du dich irgendwann für vieles, was du hier geschrieben hast, schämen wirst, und deswegen sollte es nicht (einfach) möglich sein, deinen Namen herauszufinden.
Die Lösung wurde „akzeptiert“, was erstmal nicht sooo viel bedeuten muss. Ob nun eine andere Lösung „schneller“ ist, oder der Code „gut“ ist, geht daraus nicht hervor. Vielleicht war der Fragesteller einfach nur Java-Fan.
Abgesehen davon ist deine Lösung nicht total korrekt. (Yo… is nisch korrekt, digga ). Ob er überhaupt eine Lösung findet, hängt vom Zufall ab. Als kleines Experiment:
- Füge
private static Random theRandom = new Random(1019);
in die Klasse ein - Ändere die Aufrufe von
shuffle(...);
zushuffle(..., theRandom);
- Lass’ das ganze NUR mit der „größten“ Eingabe laufen, und schau’ dir die Zeit an…
(Ich könnte noch mehr sagen, aber lege wirklich großen Wert darauf, dass niemand diesen Post finden kann…)
ich finds lustig, Wert auf Anonymität zu setzen aber mit soetwas hausieren zu gehen, was garantiert sehr einfach aufzufinden ist, mal Marcos Wordspiel ausleihen, das ist wohl Gehscheiter(t)
Ok, das lief quasi wie immer, einmal schief zu Martin(123) geschaut (oder Kritik an Landeis Meinung über Google geübt) und zack, Sperre… Das ist ungerecht, aber das wisst ihr selber, und ich bin selbst schuld, wenn ich noch hier bleibe.
Zu der genauen Challenge kann ich gerade nichts schreiben, weil von mir mehrere Lösungen ausgezeichnet wurden. Aber ja, vermutlich lief beim Zufall etwas noch nicht rund.
Schönen Start in die Woche…
Bei der anderen kannst du das i+=2
weglassen, und statt i+2
dann i=i+2
schreiben, und statt c.contains
tut’s auch c.equals
. Spart 4 bytes. Mit geschickterer Umstrukturierung kann man dann noch 6 weitere bytes sparen.
Jupp, man muss nur gucken welche Challanges liefen bei denen es nur eine Einreichung gab. Zack hasten
Ich sehe schon, „Fishing for Compliments“ war falsch. Ähnlich wie atmen oder rauchen. Ich hab das nur gepostet, weil ich dachte, dass das zu dem anderen Thema passt.
Btw. Neue Regelungen 2025 in Italien im Nichtraucherschutz … wer beim Rauchen nicht mindestens 10 m Abstand zu allen anderen einhält, der riskiert saftige Geldstrafen.
Warum sollte ich denn lügen? Ich bin hier anonym, keiner kennt mich und mein Account hat auch noch relativ wenig(e) Beiträge. Was hätte ich denn davon? Außerdem bin ich kein Prahlhans, brauche keine Kredibilität und an Pseudologia phantastica bin ich auch nicht erkrankt.
Ich bräuchte Geld. Aber das bekommt man in der heutigen Zeit einfacher, wenn man lügt. Es ist ein Teufelskreis, viele alte Tugenden (Fleiß, Aufrichtigkeit, Redlichkeit, Wahrheit, Demut, Liebe) gelten heute nicht mehr. Stattdessen wird zum Beispiel psychologisch behandelt, wer nicht in dieses gewöhnliche unsoziale Muster passt, der Rest kann einfach so weiter machen.
WTF??? Also gehen wir die Punkte mal durch.
- mit der Wahrheit hast du es allgemein nicht so wirklich
- nein du bist nicht anonym, eher pseudonym, weil die masse kennt dich.
- ja dieser Account aber mit den 50 anderen kommst du auf viele Beiträge
- doch bist du du hältst dich für den größten erfahrensten Programmierer (Auflösung, nein bist du bei weitem nicht)
- Soziale Muster? Um es kurz zu machen, das sind Dinge von den du noch weniger Ahnung hast als vom Programmieren.
Naja, im Vergleich zu mir schon. Ich meine, ich bin so bescheiden, ich bin bestimmt der bescheidenste Mensch, der je gelebt hat. Ich sollte Medallien, Orden, Pokale, und Auszeichnungen bekommen für meine alles überstrahlende, fast schon übermenschlich wirkende Bescheidenheit
Spoiler: Es ist immer „die heutige Zeit“. (Wann war das denn mal nicht so?).
Und unabhängig davon: Lügen kann einem das Leben einfacher machen. Problematisch wird es nur, wenn das zu oft zu lange funktioniert, weil das auf strukturelle gesellschaftliche Probleme hindeutet, die nicht von jetzt auf gleich gelöst werden können. Und diese Situation haben wir … in der „heutigen Zeit“ …
Man könnte den Leuten vormachen, man wäre ein DevOps. Da müsste es doch massenweise Geld für geben.
Blöd ist halt die Probezeit. Wenn der Chef von einem will, dass man ein Dockerservice auf einer VM zum laufen bringt ohne externen Zugriff, und man dafür hoch Tage braucht, dann ist auch schwer.
Oder wenn der Chef mit einer fachlichen Aufgabe um die Ecke kommt, die sich nicht darauf beschränkt ein simples LSG zu lösen.
Und es wäre gut einen akademischen Abschluss zu haben. Oder irgend einen Abschluss einer Einschlägigen Ausbildung.
Aber dann sollte das kein Problem sein.
@martin123 Du warst doch gar nicht angesprochen. Und wer im Glashaus sitzt …
Ich habe nirgends geschrieben, dass ich der Beste sei. … Wenn überhaupt, dann bin ich nur bedingt der beste, also nur in einem (sehr) eingeschränkten Personenkreis.
Aber bis zum Beispiel Martin aufholen würde, müsste ich über Jahre hinweg aufhören zu denken. Das kann nicht die Lösung sein. (Damit es nicht zu Missverständnissen kommt: „Aufhören zu denken“ == Sich mit etwas anderem beschäftigen (was faktisch schon nicht mehr möglich ist, da man auch passiv lernt), wie zum Beispiel Rasenmähen oder so.)
Auch wenn das off-topic ist, und ich gelegentlichen CB-bashing ja nicht überbewerte:
Wenn der Chef keine Ahnung von Docker hat, weiß er nicht, ob das, was da gemacht werden soll, nun drei Stunden oder drei Tage dauert.
Die Kernaussage, dass „lügen“ wichtig ist, stimmt. Man muss nicht kompetent sein. Man muss lediglich gut darin sein, den Eindruck zu erwecken, man sei kompetent. (Ob man dann ein „Lügner“ ist, oder „nur“ ein Blender, darüber kann man streiten. Aber jeder kennt sie, diese Dampfplauderer, die alles können…).
Ich hatte in diesem Zusammenhang schon gelegentlich eine … *auf den Titel schielt* … ja, tatsächlich eine „Code Challenge“ beschrieben.
Erstelle eine Webseite (im lokalen Netz), wo man seinen Namen und sein Lieblingsessen eingeben kann, und das wird dann in einer Datenbank gespeichert, und beim nächsten Besuch kann man diese Angaben ändern.
Wie lange braucht man dafür?
Halt, bevor das Würfeln und das gegenseitige Unterbieten losgeht: Es gibt einen Kniff. Man hat die Dokumentation von allem, was man braucht, auf der lokalen Platte: Mongo/Raven/Couch/WasAuchImmer-DB, NodeJS+Express, Angular oder React oder Vue (oder welchen anderen verkorksten Wrapper für HTML und CSS man auch immer statt eines richtigen UI-Frameworks verwendet), Docker, meinetwegen auch Kubernetes, … der „Fulle Stack“, halt.
Aber: Man darf während der Entwicklung nicht aufs Internet zugrieifen. Keine Tutorials. Keine Gists. Keine Issues mit Workarounds für Bugs. Kein Stackoverflow.
Ich glaube, dass das praktisch niemand hinbekommen würde (außer vielleicht, wenn man ~„so was ähnliches schon 10 mal gemacht hat“).
In diesem Sinne: Akademischer Aschluss am Ar… Ich habe im Rahmen meines „akademischen Abschlusses“ z.B. in einem Seminar ein Paper vorgestellt, in dem bewiesen wurde, dass das 1-reguläre 2-Farben-Paint-Shop-Problem für Wörter APX-hart ist.
War ganz interessant.
Docker? Nicht interessant.
Also kurzes Disclaimer: Mein Text basiert auf den Aussagen aus dem Computer Base Forum, die über CB geschrieben worden sind und von CB erwidert worden sind. Denke er wird das für sich einordnen können. Da er keine von meinen Aussagen widersprochen hat, denke ich, dass ich es richtig zusammengefasst habe.
Ja gut zufällig komme ich aus der Webentwicklung und zufällig habe ich das schon 10 Jahre gemacht, daher denke ich allein auf Dokumentation würde ich persönlich es auch schnell hinbekommen. Und ich würde es auch von Personen erwarten, die sich als Webentwickler (Professional und höher) bewerben. Ein Junior müsste vermutlich geschult werden (Unabhängig seiner Qualifikation). Aber - Wenn es um den Abschluss gehen soll:
Es ist ja nicht so wie man arbeitet. Jemand, der Fullstack Entwickler ist, und sich auf eine solche Stelle bewirbt, da erwarte ich, dass er bestimmte Dinge einfach mitbringt. So ist es auch bei Abschlüssen.
-
FISI: Bisschen Entwicklung, Mehr Infrastruktur. Hier sind die Ausprägungen extrem unterschiedlich. Nicht jeder FISI ist automatisch geeignet eine Docker und K8S Cluster aufzubauen. Es gibt FISIs, die schließen 3 Jahre Monitore an.
-
FIAE: Mehr Fokus auf Entwicklung, aber vermutlich nur eine Sprache. Darin kennt man sich aus grundlegend. Neues wird gelernt, aber eher unter praktischer Anleitung
-
Bachelor, Master, Dipl: Akademischer Abschluss - Die Praxis ist hier extrem begrenzt. Denke das ist keine neue Erkenntnis. Gerade im Junior-Bereich schulen wir diese Menschen in der Software-Entwicklung. Bei uns im Unternehmen mach das der Kollege Ullenboom
. Oder zumindest in den früheren Traineeprogrammen. Aber von Akademikern würde ich erwarten, dass sie eine große Abstraktionsfähigkeit mitbringen und es schaffen viele Informationen zu sortieren und dann versuchen diese Anzuwenden. Weiter auch eine extrem hohe Selbstorganisation.
Wie dem auch sei: Alle diese Personen haben ja ein Problem mit 1000 Lösungen. Je mehr Berufserfahrung, desto mehr die Erwartung, dass man aus den 1000 Lösungen schnell eine 1 macht.
Sagen wir ich arbeite in einer kleinen Firma. Ich bin jetzt kein IT-Chef und kann überhaupt nicht bewerten, ob eine von mir gestellte Aufgabe 1 Stunde oder 10 Tage dauert.
Ja dann frage ich die eingestellte Person: Wir brauchen eine solche Anwendung, wie lange dauert das.
Antwort: 2 Monate.
OK: Bitte alle 2 Wochen eine Wasserstandsmeldung erstellen für den Fortschritt.
Nach 2 Wochen: Wir sind im Plan und bekommen alles hin.
Nach 4 Wochen: Wir sind im Plan und bekommen alles hin
Nach 6 Wochen: Joa… Wir haben folgendes zusätzliches Problem: + 2 Monate.
OK: Bitte alle Wochen eine Wasserstandsmeldung
…
Nach 14 Wochen: Wir haben folgendes zusätzliches Problem: + 2 Monate
OK bitte Wasserstandmeldung
Die Abschätzungen kommen ja von der eingestellten Person. Da muss ich als Chef nix wissen, außer dass die Abschätzungen unzuverlässig sind.
a) Es ist mir egal… Lasse ich so weiter laufen.
b) Ende.
Hat nix mit dem Können zu tun. Fakt ist - Man findet Probleme erst 2 Wochen vor Abgabe. Das finde ich gut oder schlecht.
Zusammenfassend:
- Ich denke Kompetenz ist relativ.
Na ja, 2 Monate sind aber auch schon lang.
Mein alter Chef hatte das ganz geschickt gemacht, und weder gesagt, wie viel Zeit ich für etwas hatte, noch gefragt, bis wann das fertig wäre. Es gab also keine Deadline oder so.
Als ich dann damit fertig war, konnte er sagen, ja, das hat jetzt 10-mal so lange gedauert, sie sind entlassen.
Die Wahrheit war aber, dass er mich ohnehin loswerden wollte, weil ich mich mit den anderen nicht (übers Wetter) unterhalten oder ihnen etwas erklärt hatte. Kann man nix machen.
Glaube, das nennt man heutzutage Soft Skills, Kommunikationsfähigkeit, BlaBla oder so. Anscheinend ist das in Unternehmen wichtiger denn je.
Noch brisanter ist das ja in der Politik. Dort muss man quasi zu allem keine Antwort, aber zu allem eine Meinung oder Erklärung (bzw. Erzählung) haben. Für die Sachkompetenzen sind dann Experten zuständig.
Kannst du doch gar nicht sagen. Woran machst du das fest?
Ich empfehle hier entweder selbstständig nach einer möglichen Deadline zu fragen oder eine Schätzung abzugeben, wann die konkrete Aufgabe fertig wird.
Das kann ich mir nicht vorstellen. Du wirst ja durch eine Bewerbungsphase gegangen sein. Und man wird ja mit dir gesprochen haben.
Anschließend wird man ja die Entscheidung getroffen haben , jo den stellen wir ein.
Da investiert man ja auch Zeit und Geld und man wird ja dann nicht sagen: Oh im Bewerbubgsgespräch war er so freundlich und passend zum Team und eine Woche später: Er kann sich nicht übers Wetter unterhalten.
Ich denke eher dass es zum dem Kontext passt, dass dir hier immer und immer wieder zurückgespiegelt wird.
Ich empfehle daran zu arbeiten.
Ich wurde unter ca. 75 Mitbewerben ausgewählt, ja. Aber das ändert ja nix daran, dass mein alter Chef doof war.
Ist aber auch völlig egal, längst vergossene Milch.