IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Emploi Discussion :

Les tests Codingame me font perdre des emplois


Sujet :

Emploi

  1. #141
    Membre éprouvé Avatar de AaâÂäÄàAaâÂäÄàAaâÂäÄ
    Homme Profil pro
    db@
    Inscrit en
    Septembre 2021
    Messages
    450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : db@

    Informations forums :
    Inscription : Septembre 2021
    Messages : 450
    Points : 1 296
    Points
    1 296
    Par défaut
    Citation Envoyé par Mat.M Voir le message
    j'ai une question : pourquoi faire affaire avec une SSII française en habitant à Montréal ? Mieux vaut traiter avec une entreprise aux USA ou anglo-canadienne où les salaires sont plus élevés, non ?
    Ils m'ont contacté et vu que je magasine une nouvelle job, je leur ai laissé une chance.
    Mais passer une entrevue avec des gamines qui auraient l'âge d'être mes filles, c'était plutôt bizarre. Et faire tester son niveau d'anglais par des français, c'est toujours priceless ! D'ailleurs elles m'ont demandée mon niveau d'anglais et j'ai switché la conversation en anglais mais elles n'ont pas prononcé un seul mot en anglais

    J'aimerais comprendre pourquoi tu considères les entreprises anglo-canadiennes offrent de meilleurs salaires que les entreprises canadiennes francophones ??

  2. #142
    Membre éprouvé Avatar de AaâÂäÄàAaâÂäÄàAaâÂäÄ
    Homme Profil pro
    db@
    Inscrit en
    Septembre 2021
    Messages
    450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : db@

    Informations forums :
    Inscription : Septembre 2021
    Messages : 450
    Points : 1 296
    Points
    1 296
    Par défaut
    Citation Envoyé par grandjo29 Voir le message
    Donc s'il vous plait courez pas après des salaires qui sont indécent, car cela empêche les débutants de commencé et si vous saviez le nombre de fois ou j'ai entendu des étudiants indiquer que si il fond de l'informatique, c'est parce que c'est porteur et cela pais bien.
    OK tu veux donc que les débutants soient en SMIC ?

  3. #143
    Nouveau membre du Club
    Homme Profil pro
    Industrie 4.0
    Inscrit en
    Mars 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Industrie 4.0
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2009
    Messages : 4
    Points : 38
    Points
    38
    Par défaut
    Toi aussi tu as eu cette l'impression que c'est ta file qui te juge sur ta carrière? Ils ne savent vraiment pas resté humble.

    Citation Envoyé par AaâÂäÄàAaâÂäÄàAaâÂäÄ Voir le message
    OK tu veux donc que les débutants soient en SMIC ?
    Je n'est pas dit cela, mais je me demande toujours ce qui justifie une telle niveau de salaire et si tu habite dans une grands ville tu vaux plus quand province.
    Si c'est l offre et la demande cela peux ce comprendre, mais il y en a pleins qui cherche. Donc, rien à 30K ou quelque chose au SMIC?

    De ce fait quand une personne demande 30k€, a tel conscience qu'il faut une valeur ajouté d'au moins le double donc 60K€ de bénéfice brute et si l'entreprise a des frai de fonctionnement, il en faut un peu plus.

    Donc, un débutant peut-il générer 100K€? Je suppose que l'on vas dire "c'est le problème de l'entreprise" .

    Moi je négocie très mal moi. Encore une ou deux augmentation du SMIC et j'y serais et cela parce que je viens d'un autre métier ou le salaire ce renégocie après la période d'essaie.

  4. #144
    Membre régulier
    Homme Profil pro
    Consultant MOA
    Inscrit en
    Mars 2021
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Consultant MOA
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2021
    Messages : 27
    Points : 87
    Points
    87
    Par défaut
    A la sortie de mon master on m'aurait dit le SMIC ça aurait été non et j'aurais pas fait de master pour être payé le smic. Sinon oui c'est le problème de l'entreprise si elle accepte de payer des salaires trop élevés par rapport à la valeur généré. Après moi je suis en SSII donc c'est facile je prend mon TJM et ma rentabilité est vite calculé (et je suis rentable) et ce dès le début de ma courte carrière.

  5. #145
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2016
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2016
    Messages : 92
    Points : 441
    Points
    441
    Par défaut
    Rassurez-vous, si les entreprises acceptes de payer ces salaires (qui sont loin d'être si exorbitant comme on peut souvent l'entendre), c'est que l'entreprise est largement gagnante.

  6. #146
    Expert éminent sénior
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6 803
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6 803
    Points : 32 058
    Points
    32 058
    Par défaut
    Citation Envoyé par AaâÂäÄàAaâÂäÄàAaâÂäÄ Voir le message
    Mais passer une entrevue avec des gamines qui auraient l'âge d'être mes filles, c'était plutôt bizarre.
    Aux âmes bien nées, la valeur n'attend pas le nombre des années. Bon, aux âmes mal nées non plus, certes.

    Honnêtement, un(e) manager de 20 ans qui me donne des priorités claires, et qui me laisse/donne les moyens de faire le job, je prends. Il y aura des moments gênants et des erreurs de débutant (normal); mais si il/elle fait son boulot et moi le mien, je ne vois pas pourquoi ça poserait problème.

    Citation Envoyé par AaâÂäÄàAaâÂäÄàAaâÂäÄ Voir le message
    Et faire tester son niveau d'anglais par des français, c'est toujours priceless ! D'ailleurs elles m'ont demandée mon niveau d'anglais et j'ai switché la conversation en anglais mais elles n'ont pas prononcé un seul mot en anglais
    Attends de te faire tester ton niveau en Allemand par des Français, c'est encore bien supérieur en termes de poilade. On se croirait dans la grande vadrouille, en moins drôle.
    Les 4 règles d'airain du développement informatique sont, d'après Michael C. Kasten :
    1)on ne peut pas établir un chiffrage tant qu'on a pas finalisé la conception
    2)on ne peut pas finaliser la conception tant qu'on a pas complètement compris toutes les exigences
    3)le temps de comprendre toutes les exigences, le projet est terminé
    4)le temps de terminer le projet, les exigences ont changé
    Et le serment de non-allégiance :
    Je promets de n’exclure aucune idée sur la base de sa source mais de donner toute la considération nécessaire aux idées de toutes les écoles ou lignes de pensées afin de trouver celle qui est la mieux adaptée à une situation donnée.

  7. #147
    Membre éprouvé Avatar de AaâÂäÄàAaâÂäÄàAaâÂäÄ
    Homme Profil pro
    db@
    Inscrit en
    Septembre 2021
    Messages
    450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : db@

    Informations forums :
    Inscription : Septembre 2021
    Messages : 450
    Points : 1 296
    Points
    1 296
    Par défaut
    Citation Envoyé par el_slapper Voir le message
    Aux âmes bien nées, la valeur n'attend pas le nombre des années. Bon, aux âmes mal nées non plus, certes.
    Honnêtement, un(e) manager de 20 ans qui me donne des priorités claires, et qui me laisse/donne les moyens de faire le job, je prends. Il y aura des moments gênants et des erreurs de débutant (normal); mais si il/elle fait son boulot et moi le mien, je ne vois pas pourquoi ça poserait problème.
    Ça fait tout de même un peu bizarre de se faire interroger sur sa carrière par des personnes qui n'étaient pas nés quand tu as commencé à bosser.
    Mais leur plus gros problème, c'est qu'elles faisaient une entrevue « à la française » alors qu'on est au Québec... Les codes ne sont pas du tout les mêmes.

    Citation Envoyé par el_slapper Voir le message
    Attends de te faire tester ton niveau en Allemand par des Français, c'est encore bien supérieur en termes de poilade. On se croirait dans la grande vadrouille, en moins drôle.

    C'est quand même drôle ces personnes qui testent ton niveau de langue en ayant un niveau lamentable... D'autant plus que les attentes du niveau d'anglais au Québec ne sont pas du tout les mêmes qu'en France.

  8. #148
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 381
    Points
    20 381
    Par défaut
    Citation Envoyé par AaâÂäÄàAaâÂäÄàAaâÂäÄ Voir le message
    J'aimerais comprendre pourquoi tu considères les entreprises anglo-canadiennes offrent de meilleurs salaires que les entreprises canadiennes francophones ??
    bonsoir je réponds en retard parce qu'au sein des grosses ESN hexagonales ça commence à chauffer

    c'est que dans ce pays la France apparemment on n'est pas foutu de verser des bons salaires aux salariés


  9. #149
    Expert confirmé
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2003
    Messages
    1 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2003
    Messages : 1 272
    Points : 4 092
    Points
    4 092
    Par défaut
    Je suis dans le cas inverse, j'ai un profil CodinGame où j'ai fait pas mal de puzzle (quand je n'avais pas d'idée de projets à réaliser) mais ça ne semble pas intéresser le recruteur plus que ça.
    J'ai aussi quelques projets sur GitHub qui ont une première version fonctionnelle mais on me demande parfois de passer des tests aussi.

  10. #150
    Membre à l'essai
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Septembre 2022
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en technologies

    Informations forums :
    Inscription : Septembre 2022
    Messages : 1
    Points : 23
    Points
    23
    Par défaut
    Pour ma part Codingame m'a littéralement fait perdre mon emploi. En effet mon ESN m'a fait postulé chez un client qui m'a envoyé 2 tests Codingame (JAVA et JS) avant tout entretien.
    Ne pouvant pas refuser je les ai fait mais j'ai eu un score catastrophique (je suis encore en mission, réviser n'était pas dans mes priorités).
    Malheureusement mon entretien annuel a eu lieu juste après ça et n'ayant pas eu l'augmentation escomptée en plus de sévères remontrances de mon manager nous sommes parti sur une rupture conventionnelle.

    Les tests Codingame sont absurdes, si tu ne connais bien la doc, c'est quasi impossible de repondre correctement, les questions sont sur des fonctionnalités qu'on utilise peu au quotidien.

    Et puis quel dev fullstack a besoin de pondre des algos en temps aussi limité. 30min pour lire, comprendre, refléchir et implémenter l'algo du sujet c'est, au mieux, trop court. A part en t'entrainant régulièrement c'est pas faisable (surtout avec le stress).

    Les boites cherchent des moutons à 5 pattes capables de recracher la doc de tête pour le staffer sur n'importe quel projet. Elle oublie que ce genre de profil postulent chez les gafams ou des boites qui leur plaisent, pas dans leur boite à la con.

  11. #151
    Membre éprouvé Avatar de AaâÂäÄàAaâÂäÄàAaâÂäÄ
    Homme Profil pro
    db@
    Inscrit en
    Septembre 2021
    Messages
    450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : db@

    Informations forums :
    Inscription : Septembre 2021
    Messages : 450
    Points : 1 296
    Points
    1 296
    Par défaut
    Citation Envoyé par korpiath Voir le message
    Les boites cherchent des moutons à 5 pattes capables de recracher la doc de tête pour le staffer sur n'importe quel projet. Elle oublie que ce genre de profil postulent chez les gafams ou des boites qui leur plaisent, pas dans leur boite à la con.
    C'est le problème du recrutement français, il se repose sur des boîtes noires qui testent des compétences (j'ai connu la graphologie...) au lieu d'engager une personnalité et du potentiel et de prendre des risques...

  12. #152
    Membre à l'essai
    Homme Profil pro
    Architecte technique
    Inscrit en
    Mars 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 1
    Points : 13
    Points
    13
    Par défaut Temps perdu
    Je pose aussi une question : vous passez des entretiens techniques pour des ESN. Si chacune d'entre elles vous demande 1-2h de tests, cela n'en finit pas !
    je ne suis pas rémunéré pour cela.
    De plus avant même de proposer une mission ou de décrire l'entreprise, on vous demande un codingame.
    Cette pratique devrait être caduque.

    De plus est-ce que réellement cela reflète le niveau réel du développeur qui le passe...

  13. #153
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 381
    Points
    20 381
    Par défaut
    Citation Envoyé par fredba94 Voir le message
    Je pose aussi une question : vous passez des entretiens techniques pour des ESN. Si chacune d'entre elles vous demande 1-2h de tests, cela n'en finit pas !
    je ne suis pas rémunéré pour cela.
    bien d'accord et ne pas être rémunéré et travailler sur des tests, vu autrement ça s'appelle payer pour travailler
    C'est que l'employeur souvent il est en position de force devant le candidat hélas

  14. #154
    Expert confirmé Avatar de ed73170
    Homme Profil pro
    Développeur indépendant
    Inscrit en
    Mai 2009
    Messages
    765
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur indépendant

    Informations forums :
    Inscription : Mai 2009
    Messages : 765
    Points : 5 522
    Points
    5 522
    Par défaut
    Citation Envoyé par fredba94 Voir le message
    Je pose aussi une question : vous passez des entretiens techniques pour des ESN. Si chacune d'entre elles vous demande 1-2h de tests, cela n'en finit pas !
    je ne suis pas rémunéré pour cela.
    J'ai résolu le problème : en tant que prestataire indépendant je refuse systématiquement ces tests en expliquant à la SSII que nous négocions un contrat de prestation entre professionnels et pas une embauche.
    Mon argument est : lorsque vous apportez votre voiture chez le garagiste vous ne lui faites pas passer un test de mécanique.

    Des fois ça passe, mais le plus souvent non 😁 en tout cas ça m'évite de perdre du temps.

  15. #155
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2019
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2019
    Messages : 200
    Points : 976
    Points
    976
    Par défaut
    Citation Envoyé par ed73170 Voir le message
    J'ai résolu le problème : en tant que prestataire indépendant je refuse systématiquement ces tests en expliquant à la SSII que nous négocions un contrat de prestation entre professionnels et pas une embauche.
    Mon argument est : lorsque vous apportez votre voiture chez le garagiste vous ne lui faites pas passer un test de mécanique.

    Des fois ça passe, mais le plus souvent non 😁 en tout cas ça m'évite de perdre du temps.
    C'est exactement ce que je pense. Idem quand je fais appel à un plombier, je ne lui fais pas faire un test pour évaluer ses compétences
    Je ne comprend pas pourquoi les développeurs se soumettent à ce genre d'exercice, surtout après quelques années d'expérience.

  16. #156
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 381
    Points
    20 381
    Par défaut
    j'approuve à 200% les réponses précédentes et si vous postulez à une opportunité de mission comme Freelance dites à la personne qui fait du recrutement que la position de freelance c'est pas du tout la même que celle d'un salarié.
    Un freelance doit gérer sa propre entreprise et idéalement avoir plusieurs clients,il a des charges à payer.
    Sinon c'est un lien de subordination

  17. #157
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2016
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2016
    Messages : 92
    Points : 441
    Points
    441
    Par défaut
    Citation Envoyé par Mat.M Voir le message
    j'approuve à 200% les réponses précédentes et si vous postulez à une opportunité de mission comme Freelance dites à la personne qui fait du recrutement que la position de freelance c'est pas du tout la même que celle d'un salarié.
    Un freelance doit gérer sa propre entreprise et idéalement avoir plusieurs clients,il a des charges à payer.
    Sinon c'est un lien de subordination
    La réalité c'est que 95% des gens qui se disent "freelance" ou "indépendant" sont en réalités des salariés déguisés, avec un meilleur salaire (pas sûr si on calcul sur l'année avec le même nombre de jours de repos et pas sur un mois) sans les avantages.
    Ils bossent pour une seule entreprise pendant longtemps, doivent respecter les horaires de l'entreprise...

  18. #158
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 630
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 630
    Points : 10 556
    Points
    10 556
    Par défaut
    Je viens de passer 1 test CodinGame et avant de lancer le test, il y a 1 tuto (avec 1 question, 1 code en 20 minutes, et je ne sais plus) qui donnait le détail de la note.

    Le code en 20 minutes : en C++, trouver 1 valeur dans 1 tableau à la "C".
    Grosse indication : le tableau est trié ... et il faut que le code fonctionne "rapidement" sur les gros tableaux.
    J'ai codé 1 algo classique "C" avec 1 for, tant que la valeur est non trouvée et la valeur supérieure.
    J'ai eu 55 sur 300

    *) 55 sur 55, pour l'algo qui fonctionne
    *) 0 sur 150 - 180, pour les gros tableaux. On parle de recherche dichotomique
    *) 0 sur 60 - 80, pour utiliser la librairie standard
    (il manque des points et ce n'est pas exactement mais c'est en gros)

    Donc je pense que la solution est (peut-être changer l'algo de recherche)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    bool find_value(int tab[], int val, int size) {
        std::vector<int> vec(tab, tab + size);
    
        return std::binary_search(vec.cbegin(), vec.cend(), val);
    }
    Donc adapté à 1 langage qui a 1 libraire standard complète ... pas comme le C.


    J'ai eu dans ce test 1 code en 20 minutes : en JavaScript (très très important) trouver la valeur la plus proche de 0 dans 1 tableau de températures (positive ou négative) et la retourner
    Il y a 1 subtilité, mais pas trop méchante (toujours prendre la valeur positive si 2 températures sont égales mais 1 est négative et l'autre positive)

    La solution trouvée sur Internet (mais peut-être pas optimale)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var closest = temperatures_array.reduce(function(prev, curr) {
      return (Math.abs(curr - 0) < Math.abs(prev - 0)? curr: prev);
    });
    Donc adapté à 1 langage moderne comme le TypeScript, JavaScript, Python ... mais pas le C et introduit avec le C++17
    Édit : reduce permet d'appeler 1 fonction callback sur chaque élément du tableau avec 1 accumulateur et à la fin retourne l'accumulateur. C'est 1 for_each maquillé.

    Cela m'a fait penser à 1 question technique pendant 1 entretien : tester le palindrome.
    J'ai choisi le langage C (je suis très à l'aise) et j'avais codé en 15 - 20 minutes l'algo classique "C" (avec tous les tests NULL, longueur, ...) dans lequel on teste [début ... milieu] avec [fin ... milieu].
    Je me suis fait prendre pour 1 mauvais parce que le technique attendais en gros str == reverse(str).
    En C++ avant l'introduction de std::reverse (C++17 ou C++20), on peut utiliser les "reverse iterators" str == std::string(str.rbegin(), str.rend()).

    Et la deuxième question : tester le palindrome en ignorant les espaces
    En gros str == reverse( str.remove(' ') ).
    Donc adapté à 1 langage qui a 1 type "chaîne de caractères" avec toute la partie manipulation ... pas comme le C ou le Pascal/ Delphi.


    Et également pendant 1 entretien : coder le fizzbuzz.
    J'ai choisi le langage C (je suis très à l'aise) et j'avais codé en 10 - 15 minutes l'algo classique "C" avec le if dans le if.
    Je me suis fait prendre pour 1 mauvais parce que le technique attendais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    str = "";
    if ((val % 3) == 0) str = "fizz";
    if ((val % 5) == 0) str += "buzz";
    std::cout << ((!str.empty())? str: std::to_string(val)); // C++11
    Donc adapté à 1 langage qui a 1 type "chaîne de caractères" ... pas comme le C.

    Il faut remarquer que pour toutes les solutions :
    • le code est maintenable et lisible parce qu'il ne fait que 1 ou 2 lignes.
    • le code est optimisé (**) parce qu'il utilise la libraire standard qui contient toute 1 panoplie d'algo avec différentes complexités
    • le code est sans bug parce que la libraire standard a été testée ardemment et est utilisée par des millions de développeurs
    • le code est rapide à faire (mais cela pour moi ce n'est pas vraiment vrai) mais pour "1 personne logique" coder 1-2 lignes est plus rapide qu'1 dizaine de lignes "compliquées" (avec boucles et/ ou tests nécessaires) (*)


    *: c'est d'ailleurs ce que j'avais dit avant. Si pendant 1 CodinGame tu commences à coder des boucles et avoir plus de 3 lignes, tu sais que ce n'est pas la bonne solution.
    Et surtout que le temps imparti est très court et que la plateforme ne permet pas le débug (c'est 1 honte), ces 2 points rendent le codage d'1 algo "classique" très très compliqué.
    Après, tu as peut-être 1 exercice trivial avec 1 boucle. Mais pour le "gros" code (exercice de + de 5 minutes) tu as toujours 1 solution rapide : simplification de l'algo avec 1 formule mathématique, librairie standard, ...

    **: quoique. Par exemple, pour le palindrome, on fait 1 copie temporaire avec 2 parcours complets (1 pour la recopie et 1 pour la comparaison)
    Après si la chaîne de caractères n'excéde pas 512 caractères, cela ne se ressent pas.


    Donc CodinGame ce n'est juste que des tests "par cœur", et connaître très très bien le langage et sa librairie standard.
    Et oublier l'algorithmie et les langages "bas niveau" comme le C.
    D'ailleurs je ne sais pas si la plateforme CodinGame supporte le C++ moderne (C++11, C++14, C++17)
    Et toutes les questions en C sont sur les opérateurs binaires/ logiques, les opérateurs post/ préfixes et éventuellement la manipulation d'1 "tableau".

  19. #159
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 381
    Points
    20 381
    Par défaut
    n'oubliez pas d'utiliser un programme qui fait des captures d'écran à chaque fois que vous naviguez de page en page en passant les tests et sauvegarder les captures d'écran.
    Comme ça ça peut servir si vous devez repasser les tests on ne sait jamais

  20. #160
    Expert éminent
    Avatar de Pyramidev
    Homme Profil pro
    Développeur
    Inscrit en
    Avril 2016
    Messages
    1 471
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Avril 2016
    Messages : 1 471
    Points : 6 109
    Points
    6 109
    Par défaut
    Je viens de passer très récemment deux tests CodinGame Python. Soit c'est devenu plus dur qu'avant, soit il y a une part de hasard.

    La première fois de ma vie que j'avais passé des tests CodinGame Python, c'était en 2018. Aussi bien en 2018 qu'en 2021, en Python, j'avais systématiquement des scores au dessus de 90 % sans entraînement spécifique. J'ai tendance à bien étudier les langages que j'utilise et j'ai toujours été à l'aise en algorithmie.

    Par contre, en fin 2021, j'ai vu quelques exercices algorithmiques avec f-leb et Sve@r, donc je ne peux plus me considérer comme non entraîné. Ensuite, en fin 2022, j'ai aussi lu quelques solutions d'exercice dans "Cracking the Coding Interview". Je n'ai lu qu'une fraction du livre.

    Or, dans le premier des deux tests CodinGame Python récents, je me suis lamentablement ramassé à l'algo qui donnait le plus de points.

    Il fallait coder en 25 minutes une fonction compute_total_price(unit_price, macarons).
    L'énoncé était un texte de 2 km. Voici le résumé :
    macarons est une liste de chaînes dont le nombre d'éléments est le nombre de macarons. Chaque chaîne correspond à un type de macaron. Un même type de macaron peut apparaître plusieurs fois (la même chaîne apparaît alors plusieurs fois).
    unit_price correspond au prix unitaire d'un macaron.
    • La fonction doit retourner la racine entière du prix total après avoir bénéficié des réductions de manière optimale.
    • Ces réductions fonctionnent ainsi : on a le droit de partitionner les macarons en groupes (il n'y a pas besoin qu'ils soient consécutifs dans la liste pour cela). Chaque groupe contient entre 1 et 5 macarons. Si tous les macarons du groupe sont de types différents, alors le coût de ce groupe bénéficie d'une réduction :
    - de 0 % s'il n'y a qu'un macaron,
    - de 10 % s'il y a 2 macarons,
    - de 20 % s'il y a 3 macarons,
    - de 30 % s'il y a 4 macarons et
    - de 40 % s'il y a 5 macarons.

    Dans un premier temps, j'ai très vite pu simplifier le problème en transformant la liste de chaînes en liste de nombres d'occurrences par type de macarons. Par exemple, ["foo", "foo", "bar", "baz", "foo", "foo", "bar", "quux"] devient [4, 2, 1, 1].

    Ensuite, j'ai pensé à une solution : tant qu'il reste plus de 5 types de macarons différents, alors il faut former un groupe de 5 macarons différents avec les types pour lesquels il en reste le plus. Ensuite, quand il ne reste plus que 5 types, c'est assez simple.

    J'ai passé la majorité de mon temps à chercher une autre solution plus optimisée, puis je n'avais plus assez de temps pour coder ma solution vraisemblablement pas optimale. Échec !

    Je ne sais d'ailleurs toujours pas quelle est la meilleure manière de le résoudre. Peut-être que la technique à utiliser apparaît dans la partie de "Cracking the Coding Interview" que je n'ai pas encore lue.

    Est-ce que quelqu'un ici sait comment il fallait résoudre cet exercice de manière optimisée ?

    Ensuite, dans le deuxième des deux tests CodinGame récents, j'ai bien eu un score supérieur à 90 % comme d'habitude. Mais, pour l'exercice le plus astucieux, la durée était serrée.

    Dans un des exercices, dans une liste de nombres qui peuvent être positifs ou négatifs, j'avais 20 minutes pour coder une fonction qui retournait une paire d'indices inclusifs d'une sous-liste ayant la plus grande somme possible.

    Il est très rapide de coder en bourrin une solution à complexité quadratique, mais plus long de coder une solution avec une complexité linéaire.

    Coup de chance, je connaissais déjà une variante de cet exo : https://python.developpez.com/exerci...n-sous-tableau

    Mais, pour quelqu'un qui aurait rencontré cet exercice la première fois, 20 minutes, cela aurait été très court. Je ne sais pas si je l'aurais réussi à temps si je ne l'avais pas déjà rencontré avant. J'ai déjà résolu des exercices astucieux sans les connaître au préalable, parfois vite, d'autres fois en réfléchissant un peu plus longtemps.

    Le problème des exercices astucieux, c'est que moins on laisse de temps, moins on laisse de chance de réussir à ceux qui n'ont pas déjà rencontré l'exercice avant. On, quand on connais déjà l'exercice, on n'a plus beaucoup besoin d'intelligence algorithmique : on a surtout besoin d'une bonne mémoire.

    En ce moment, je me concentre sur ma montée en compétences en Rust mais, un jour, il faudra que je me remette sur le livre "Cracking the Coding Interview". Pour le recrutement, c'est plus important que de progresser sur des trucs vraiment utiles.

    Nom : you-need-to-solve-this-segment-tree-problem.png
Affichages : 416
Taille : 325,4 Ko

    CP = Competitive Programming

    Image trouvée ici : https://www.reddit.com/r/ProgrammerH...e_programming/

Discussions similaires

  1. Réponses: 44
    Dernier message: 28/07/2017, 12h36
  2. Réponses: 11
    Dernier message: 16/03/2017, 08h06
  3. [Emploi] Les tests techniques Java/J2EE c'est quoi ?
    Par dedeloux dans le forum Emploi
    Réponses: 6
    Dernier message: 27/04/2006, 16h35
  4. [JUnit] Les tests sur des interfaces graphiques
    Par adilo dans le forum Tests et Performance
    Réponses: 5
    Dernier message: 01/02/2006, 14h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo