Skip to content

Instantly share code, notes, and snippets.

@Neamar
Neamar / entretien.md
Created June 1, 2011 16:20
Questions pour des candidats à un entretien d'embauche

Questions...

Ces questions permettent de vous situer vis à vis de la programmation et de l'informatique en général. Il est normal de ne pas tout connaître ;)

Écriture et lecture de code

Que fait la requête SQL suivante :

SELECT Marque, AVG(Prix)
FROM Produits
GROUP BY Marque

Voilà plusieurs fois que je tombe sur des programmes C cherchant à savoir si un nombre est premier ou pas. La plupart du temps, on peut aller beaucoup plus loin que ce qui est proposé.

Petit tour d'horizon des optimisations à appliquer ; pas toujours évidentes, mais qui ont l'avantage d'être bien plus rapides que l'implémentation naïve.

Définition du cahier des charges

Que doit faire le programme ?

Dans cet article, j'examinerai différents algorithmes qui auront pour but de trouver tous les nombres premiers inférieurs à une constante, MAX_NUM et de les renvoyer à l'intérieur d'un tableau d'entiers.

Les contraintes suivantes devront être respectées :

@Neamar
Neamar / gist:75546fa5013209ced625
Last active August 29, 2015 14:01
Send a new document
$ curl -XPOST \
-H "Authorization: token ${TOKEN}" \
-H "Content-Type:application/json" \
https://api.anyfetch.com/documents \
-d '{"identifier": "hello-world", "document_type": "file", "metadatas": {"title": "anyFetch sample file"}}'
$ curl -XPOST \
-H "Authorization: token ${TOKEN}" \
-F "file=@sample-file.pdf" \
https://api.anyfetch.com/documents/identifier/hello-world/file
$ curl -H "Authorization: token ${TOKEN}" \
https://api.anyfetch.com/documents?search=anyfetch
@Neamar
Neamar / gist:874eb3165d37be1a7201
Last active August 29, 2015 14:03
Failing test case for Circle
"use strict";
// USAGE:
// npm install mongoose
// npm install async
// npm install mocha-mongoose
// node test.js
var mochaMongoose = require('mocha-mongoose');
var mongoose = require('mongoose');
@Neamar
Neamar / article-1.tex
Last active August 29, 2015 14:15
Exercice du censeur
Comme le dit jadis, par un matin de janvier au début du \century{XX} siècle, monsieur Ernst Zermelo : \quote{Brrr, fait pas chaud aujourd'hui.}
\quote{Mais qu'à cela ne tienne !}, ajouta-t-il avant de s'en retourner gratter derrière son bureau en bois d'acacia\footnote{Cet article ne cite pas suffisamment ses sources.}. Axiomatiser\footnote{21 points au Scrabble} la théorie des ensembles, et par la même occasion toutes les mathématiques, c'est pas une mince affaire. Alors, entre deux complétions, pour se détendre, il travaille sur d'autres "petits" théorèmes. C'est en 1904 qu'il publie une "petite" démonstration, celui du théorème de bon ordre, qui finira par s'appeler théorème de Zermelo\footnote{17 points au Scrabble}.
\begin[Théorème de Zermelo]{quote}
Donne-moi un ensemble, je te définirai un bon ordre. C'est-à-dire que n'importe quel sous-ensemble (non-vide) dudit ensemble contiendra un plus petit élément.
\end{quote}
Ouais, bon, ça a pas l'air comme ça, mais d'une part c'est pas si simple à démontrer
@Neamar
Neamar / counters.json
Last active May 21, 2021 16:46
Teamward mock
{
"counters":[
{
"champion":{
"id":"103",
"name":"Ahri",
"patch":"7.21",
"winRate":51.245919783136976,
"gamesCount":124687,
"percentPlayInRole":96.50995386854082,
"gameCustomizationObjects": [
{
"category": "perks",
"content": "{\r\n \"perkIds\": [\r\n 8437,\r\n 8242,\r\n 8429,\r\n 8453,\r\n 9101,\r\n 9105\r\n ],\r\n \"perkStyle\": 8400,\r\n \"perkSubStyle\": 8000\r\n}"
}
]
04-02 01:10:51.903 10203 12879 1974 E AndroidRuntime: FATAL EXCEPTION: AsyncTask #20
04-02 01:10:51.903 10203 12879 1974 E AndroidRuntime: Process: fr.neamar.kiss, PID: 12879
04-02 01:10:51.903 10203 12879 1974 E AndroidRuntime: java.lang.RuntimeException: An error occurred while executing doInBackground()
04-02 01:10:51.903 10203 12879 1974 E AndroidRuntime: at android.os.AsyncTask$3.done(AsyncTask.java:353)
04-02 01:10:51.903 10203 12879 1974 E AndroidRuntime: at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
04-02 01:10:51.903 10203 12879 1974 E AndroidRuntime: at java.util.concurrent.FutureTask.setException(FutureTask.java:252)
04-02 01:10:51.903 10203 12879 1974 E AndroidRuntime: at java.util.concurrent.FutureTask.run(FutureTask.java:271)
04-02 01:10:51.903 10203 12879 1974 E AndroidRuntime: at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245)
04-02 01:10:51.903 10203 12879 1974 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(Thread