Crunchez vos adresses URL
|
Rejoignez notre discord
|
Hébergez vos photos
Page 278 sur 334 PremièrePremière ... 178228268270271272273274275276277278279280281282283284285286288328 ... DernièreDernière
Affichage des résultats 8 311 à 8 340 sur 10008
  1. #8311

  2. #8312
    Citation Envoyé par Monsieur Odd Voir le message
    Sinon le premier difficile "Labyrinthe", sans allez voir, ça se torche avec un A* ?
    Je crois pas. Je sais pas, je veux fini les moyens avant. Mais y'a déjà des challenges moyen qui demandent du A* (enfin je crois, j'ai tenté d'implémenter une solution BFS pour le challenge TEADs et c'est trop lent: je me tape un Timeout dès que l'arbre a rechercher est trop gros)

    - - - Mise à jour - - -

    Citation Envoyé par rOut Voir le message
    C'est lequel ?
    https://www.codingame.com/games/optim/71

    Comme ca a l'air de brancher du monde, je pense créer un toppic dédié dans l'aprem.

    - - - Mise à jour - - -

    Citation Envoyé par Monsieur Odd Voir le message
    Bon j'ai fini tous les faciles parce que ça se fait tranquillou en mode cerveau débranché et mine de rien, je suis rouillé moi.
    Parle pour toi . Avec 0 connaissances en prog, je sue bien sur les moyens...

  3. #8313
    Citation Envoyé par Julizn Voir le message
    T'as passé la nuit dessus
    Non, j'ai passe la nuit a faire des jeux videos puis le debut de matinee sur codingame.


    Citation Envoyé par Naity Voir le message
    Parle pour toi . Avec 0 connaissances en prog, je sue bien sur les moyens...
    Je sue aussi
    A force de :
    Code:
    \Framework.Objet.faisCeQueJeVeux(avec_ca);
    j'sais plus comment on reflechi.

  4. #8314
    Citation Envoyé par Naity Voir le message
    Comme ca a l'air de brancher du monde, je pense créer un toppic dédié dans l'aprem.
    Va falloir que j'aille regarder ça, ça a l'air assez sympathique.

    Rien à voir, mais est-ce que certains d'entre vous auraient passé des test technique pour Microsoft (première étape de recrutement pour le centre de R&D d'Issy-Les-Moulineux) ?
    Je passe ça jeudi et j'aurais bien aimé me renseigner un peu avant pour savoir si il y a un domaine en particulier à préparer (ou si c'est assez général ou au contrairement totalement random).

  5. #8315

  6. #8316
    Citation Envoyé par Orhin Voir le message
    Rien à voir, mais est-ce que certains d'entre vous auraient passé des test technique pour Microsoft (première étape de recrutement pour le centre de R&D d'Issy-Les-Moulineux) ?
    Je passe ça jeudi et j'aurais bien aimé me renseigner un peu avant pour savoir si il y a un domaine en particulier à préparer (ou si c'est assez général ou au contrairement totalement random).
    Dans le toppic des sousous dans la popoche, il me semble que quelqu'un parlait de son entretien chez 'crosoft. J'ai juste en mémoire le test de la banane (ils lui avaient demandés de résoudre ca: http://mkcohen.com/saturday-puzzle-9-apples-and-oranges ).
    Je connais pas leur méthode de recrutement, mais pour en faire dans une boite américaine, je pense que tu peux te préparer à des questions persos, des trucs techniques généraux (je serais surpris si une boite de ce genre te demande en entretien "comment fonctionne la fonction X()" et autre débilitées que tu peux demander rapidement à google et qui n'ont aucun sens à apprendre par coeur), des questions de logique et ptet une ou deux surprises (des trucs auxquels tu peux pas vraiment te préparer).

  7. #8317
    Dans mon cas c'est en 3 phases (chacune débloquée uniquement si la précédente est validée) :
    1) un test purement technique d'une heure à résoudre en Java/C++/C# (au choix), pas besoin que ça compile ou tourne mais la qualité du code est quand même notée (pas seulement la logique et l'algorithmie)
    2) un entretien téléphone d'1h (en Anglais ou Français) à propos notamment du test précédent + questions de maths et logique
    3) une série d'entretiens sur place pendant une 1/2 journée

  8. #8318
    Pour ceux que ça intéresse, Joe Duffy balance pas mal d'infos sur Midori et M# (tout les deux étant maintenant à la poubelle (même s'ils récupèrent des trucs de M#), le premier étant un OS programmé avec le second (code managé)).

    http://joeduffyblog.com/2015/12/19/safe-native-code/
    Le sommaire : http://joeduffyblog.com/2015/11/03/b...-about-midori/

    En remontant dans le blog, on peut voir le moment où il était confiant que M# allait finir en tant que produit.

  9. #8319
    Bon au final rien de compliqué pour le test technique : exploration et recherche dans un labyrinthe (avec position de départ et d'arrivée aléatoire).
    Au final un bête A* pour trouver la case non explorée la plus proche et on déroule le labyrinthe en stockant l'état de chaque case (non explorée / explorée / mur).

    Bien sur y'a des solutions plus optimisées et assez intéressantes à base d'apprentissage, m'enfin à froid comme ça (ça doit faire des semaines que j'ai pas codé sérieusement) et avec juste une 1h je préférais partir sur du classique.

    Bon par contre mon code est pas trop propre, y'a des variables qui sa baladent un peu partout et des cast/enum de temps en temps.

  10. #8320
    Aujourd'hui a lieu le meeting khornos où ils vont probablement approuver les specs Vulkan. :j-y-crois:
    Rust fanboy

  11. #8321
    J'ai fait mon premier state pattern aujourd'hui dans la boîte que je suis censé quitter demain , bon maintenant faut que je me fasse book des gangoffour...
    Citation Envoyé par Snakeshit Voir le message
    Mais comme on me l'a appris dans la Marine, plus les choses sont automatisées, moins ça consomme de cases plus vous en avez de libre pour choses utiles, comme penser à des filles dénudées .

  12. #8322
    Citation Envoyé par war-p Voir le message
    bon maintenant faut que je me fasse book des gangoffour...
    Rust fanboy

  13. #8323
    Citation Envoyé par Tomaka17 Voir le message
    Un problème avec la connaissance?

    La connaissance, bonne ou mauvaise permet de lutter contre l'obscurantisme

    Non, sérieusement, un problème avec les design pattern?
    Citation Envoyé par Snakeshit Voir le message
    Mais comme on me l'a appris dans la Marine, plus les choses sont automatisées, moins ça consomme de cases plus vous en avez de libre pour choses utiles, comme penser à des filles dénudées .

  14. #8324
    Plop petite question "Quel est la meilleure pratique ?"
    Cet aprem avec un ingé on a passé une bonne partie de notre temps à debugger un bug somme toute assez classique:

    En gros

    Quelque part dans le code :
    Code:
    void ma_fonction(int *truc)
    {
    truc[5] = 2;
    }
    Autre part :

    Code:
    void mon_autre_fonction()
    {
    int tableau[2];
    ma_fonction(tableau);
    }
    Bon évidemment, grand classique à ne pas faire, qui aboutit souvent à un segfault, mais ici le programme était suffisamment lourd en mémoire pour que l'adresse suivante nous appartienne donc une erreur aléatoire en découle selon l'adresse qui suit, évidemment.

    Ma question est simple : si j’étais en C++ rien de plus simple que d'éviter ce type de problème par la généralisation de l'usage d'une classe tableau qui force la vérification des taille à chaque fois, tout ça tout ça.
    Mais ici je suis en C simple, du coups je me demande : quelle est la meilleure bonne pratique pour éviter le soucis, ou du moins qu'il balance une erreur claire... ?

    Si vous avez des idées, je suis preneur. Ça fait déjà plusieurs jours de perdu de debug depuis le début de l'année pour des dépassements de buffer de ce type...

  15. #8325
    Citation Envoyé par Nilsou Voir le message
    Plop petite question "Quel est la meilleure pratique ?"
    Cet aprem avec un ingé on a passé une bonne partie de notre temps à debugger un bug somme toute assez classique:

    En gros

    Quelque part dans le code :
    Code:
    void ma_fonction(int *truc)
    {
    truc[5] = 2;
    }
    Autre part :

    Code:
    void mon_autre_fonction()
    {
    int tableau[2];
    ma_fonction(tableau);
    }
    Bon évidemment, grand classique à ne pas faire, qui aboutit souvent à un segfault, mais ici le programme était suffisamment lourd en mémoire pour que l'adresse suivante nous appartienne donc une erreur aléatoire en découle selon l'adresse qui suit, évidemment.

    Ma question est simple : si j’étais en C++ rien de plus simple que d'éviter ce type de problème par la généralisation de l'usage d'une classe tableau qui force la vérification des taille à chaque fois, tout ça tout ça.
    Mais ici je suis en C simple, du coups je me demande : quelle est la meilleure bonne pratique pour éviter le soucis, ou du moins qu'il balance une erreur claire... ?

    Si vous avez des idées, je suis preneur. Ça fait déjà plusieurs jours de perdu de debug depuis le début de l'année pour des dépassements de buffer de ce type...
    Ne pas modifier le tableau dans une autre fonction peut être, ou alors si c'est une fonction vraiment générique passer le numéro de la cellule en paramètre de la fonction, ça fait pas tout, mais ça limite le risque?
    Citation Envoyé par Snakeshit Voir le message
    Mais comme on me l'a appris dans la Marine, plus les choses sont automatisées, moins ça consomme de cases plus vous en avez de libre pour choses utiles, comme penser à des filles dénudées .

  16. #8326
    Citation Envoyé par Orhin Voir le message
    Au final un bête A* pour trouver la case non explorée la plus proche et on déroule le labyrinthe en stockant l'état de chaque case (non explorée / explorée / mur).
    Un simple BFS suffira dans ce cas, non ?
    une balle, un imp (Newstuff #491, Edge, Duke it out in Doom, John Romero, DoomeD again)
    Canard zizique : q 4, c, d, c, g, n , t-s, l, d, s, r, t, d, s, c, jv, c, g, b, p, b, m, c, 8 b, a, a-g, b, BOF, BOJV, c, c, c, c, e, e 80, e b, é, e, f, f, f, h r, i, J, j, m-u, m, m s, n, o, p, p-r, p, r, r r, r, r p, s, s d, t, t
    Canard lecture

  17. #8327
    Citation Envoyé par Nilsou Voir le message
    Plop petite question "Quel est la meilleure pratique ?"
    Mon conseil : ne jamais passer un tableau sans passer aussi un size_t qui est sa taille.
    Une fois que tu appliqueras ça, tu pourras vérifier tes bornes partout.
    Sleeping all day, sitting up all night
    Poncing fags that's all right
    We're on the dole and we're proud of it
    We're ready for 5 More Years

  18. #8328
    Citation Envoyé par Tramb Voir le message
    Mon conseil : ne jamais passer un tableau sans passer aussi un size_t qui est sa taille.
    Une fois que tu appliqueras ça, tu pourras vérifier tes bornes partout.
    this.
    Ce qu'il faut savoir, c'est qu'on ment beaucoup aux minmatars, surtout lorsqu'ils posent des questions du style: "t'es sûr que ça vole, ce truc ?" Cooking Momo, le 30/08/09

  19. #8329
    Yep, OK, c'est ce que je ferais si j'avais tout le programme à refaire. Mais là on est sur un programme immense et hautement collaboratif.
    N'y a t-il pas un Warning qu'il est possible d'activer pour forcer les vérifications ? Ça me dit un truc, mais je n'arrive pas à mettre le doigt dessus ...
    edit :
    Un -fstack-protector-all devrait déjà permettre de faire un nettoyage non ?

    Il semble que ça force l’arrêt du programme en cas de detection d'overflow, ce qui pourrait être potable dans mon cas, mais j'imagine que ça ralentit de beaucoup le code.

    Sinon on m'a également recommandé : AddressSanitizer , de gcc.
    A voir... donc .
    Dernière modification par Nilsou ; 21/01/2016 à 21h06.

  20. #8330
    Mon conseil: utiliser std::vector ou std::array
    "Dieu est mort" · "Si le téléchargement c’est du vol, Linux c’est de la prostitution."

  21. #8331
    Yep, pourquoi pas, en l'absence de C++.
    Mais sinon dans un premier temps je vais me contenter d'un petit audit du programme dans plusieurs cas d'utilisation avec AdressSanitizer. J'essaierais de généraliser l'usage de vector et array par la suite.
    edit : je dis nawak, tu m'a induis en erreur, c'est only C++ vector et array

  22. #8332
    Citation Envoyé par ducon Voir le message
    Un simple BFS suffira dans ce cas, non ?
    Tu devances ma question. Quel est l'avatage (et la construction) d'un A* dans le cas d'un labyrinthe ou on cherche a explorer la case non exploree la plus proche, par rapport a un BFS? (Je pensais le BFS plis approprie a la recherche de chemin dans le cas ou on ne connait pas les coordonnees de la case d'arrivee souhaitee?) .

    Et meme question concernant le Gang Of Four. Je pensais le faire commander par ma boite pour le lire. En quoi est-ce une mauvaise idee?

  23. #8333
    Citation Envoyé par Orhin Voir le message
    Bon au final rien de compliqué pour le test technique : exploration et recherche dans un labyrinthe (avec position de départ et d'arrivée aléatoire).
    Au final un bête A* pour trouver la case non explorée la plus proche et on déroule le labyrinthe en stockant l'état de chaque case (non explorée / explorée / mur).

    Bien sur y'a des solutions plus optimisées et assez intéressantes à base d'apprentissage, m'enfin à froid comme ça (ça doit faire des semaines que j'ai pas codé sérieusement) et avec juste une 1h je préférais partir sur du classique.

    Bon par contre mon code est pas trop propre, y'a des variables qui sa baladent un peu partout et des cast/enum de temps en temps.
    Dans le cas de l'exploration d'un labyrinthe A* est justement un très mauvais algorithme, faut faire gaffe. T'aurais pas du être pris
    Tout simplement parce qu'il te faut une heuristique, qu'en l'absence d'info, dans un monde proche de la réalité de la vrai vie, le plus court chemin c'est mieux et fait une heuristique acceptable pour l'exploration de map. Mais que justement dans le cas d'un labyrinthe c'est tout pourris puisqu'il est conçu pour tromper l'utilisateur avec des cul de sac et tout.
    D'ailleurs c'est bien connus que dans un labyrinthe il faut abandonner son intuition de la vrai vie (donc notre heuristique) pour devenir scientifique et tout explorer consciencieusement (Toujours tourner dans le même sens par exemple).
    Donc même si tu connaissais la destination, un algo en largeur ou profondeur d'abord sera plus performant que A*.

    Si en plus tu n'a pas accès à l'info sur la position de la sortie (ce n'est pas clair dans ton énoncé) je vois mal comment même tu a pu implémenter ton A*...
    Sans heuristique A* n’existe pas donc ...

  24. #8334
    Citation Envoyé par ducon Voir le message
    Un simple BFS suffira dans ce cas, non ?
    Oui bien évidemment, c'est d'ailleurs ce que j'ai fait.
    Mais fatigue, tout ça tout ça, je me suis planté dans mon post de ce matin.

    Je laisse le message original histoire que la conversation garde du sens.

    Par contre j'ai aussi mal décris le problème, l'algo (peu importe lequel) pour le path finding sert juste à trouver la case non explorée la plus proche, mais pas à diriger la recherche globale (vu qu'on ne sait justement pas ce qu'on cherche).
    Pour celle-ci c'est bien avec une exploration systématique du labyrinthe : on choisit toujours la même direction jusqu'à tomber sur un cul de sac ou une case déjà explorée, et c'est dans ce cas qu'on utilise du pathfinding pour trouver savoir où aller pour continuer à explorer.
    Dernière modification par Orhin ; 21/01/2016 à 23h47.

  25. #8335
    La résolution de labyrinthe à la bourrin, en suivant toujours le même mur.

    C'est le premier algo que j'ai codé de ma vie et la première fois que je reinventais la roue.

  26. #8336
    En même temps dans un labyrinthe, ça reste une solution viable.

  27. #8337
    Question C# :
    J’ai une classe qui contient un dictionnaire de dictionnaire du genre :
    Code:
    class MaClasse : ISerializable
    {
        Dictionary<int, Dictionary<int, MaClasse>> _toto;
    }
    Et la classe doit être Serializable donc c’est la merde. J’utilise une API qui propose déjà une classe dérivée du dictionnaire standard pour en faire une version sérialisable, elle est utilisée dans l’API, un peu dans mon code et ça fonctionne sauf dans ce cas précis. Si dans le bout de code plus haut j’utilise cette classe dérivée donc un truc genre SerializableDictionary<int, SerializableDictionary<int, MaClasse>> la sérialisation se passe bien par contre à la désérialisation, pour une raison qui m’échappe je me retrouve avec un
    Code:
    System.Collections.Generic.Dictionary<int, SerializableDictionary<int, MaClasse>>
    et donc sans surprise ça désérialise que dalle. Si vous savez par quelle raison mystique le type change entre sérialisation et désérialisation et comment corriger ça je suis preneur. Si vous avez une solution pour le faire à la main je suis aussi preneur, j’ai un dernier truc à essayer mais après je suis bloqué.

    Edit : pour être plus précis, ce qui est sérialisé est une List<MaClasse>, je sais pas si ça joue sur le changement de type.

  28. #8338
    J'imagine que tu as du déjà y pensé, mais je pense que tu peux faire éventuellement une classe "dummy" qui contient juste ta Dictionnary et la rendre Serializable.
    Citation Envoyé par oll Voir le message
    Et allez, un de plus qui me fout dans sa signature...
    longwelwind.net

  29. #8339
    J'ai cliqué nonchalamment au boulot sur le lien de CodeInGame, en me disant boarmpfff allons voir ce que ça vaut.
    10mn après j'avais créé un compte.
    Dans l'après-midi, deux collègues aussi.

    C'est bien cool ce truc, j'y passe peu de temps, mais un p'tit break de temps en temps. En tous cas les faciles sont suffisamment vite torchés pour faire des petites pauses sympa.

  30. #8340

Page 278 sur 334 PremièrePremière ... 178228268270271272273274275276277278279280281282283284285286288328 ... DernièreDernière

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •