Engenharia de software algorithms
Em matemática e ciência da computação, um algoritmo é um método eficaz expresso como uma lista finita de instruções bem definidas para o cálculo de uma função. Algoritmos são usados ​​para cálculo, processamento de dados e raciocínio automatizado.
Sou eu ou essa é uma pergunta desconcertante de entrevista técnica? [fechadas]
fundo Em uma entrevista técnica, fui solicitado a escrever um algoritmo para percorrer um "objeto" (observe as aspas) em que A é igual a B e B é igual a C e A é igual a C. É isso aí. Essa é toda a informação que me foi dada. Perguntei …
O GMail possui esse recurso, onde você será avisado se você tentar enviar um email que ele acha que pode ter um anexo. Como o GMail detectou a seqüência de caracteres see the attachedno email, mas nenhum anexo real, ele me avisa com uma caixa de diálogo OK / Cancelar …
Quais algoritmos / estruturas de dados devo "reconhecer" e saber pelo nome? [fechadas]
Eu gostaria de me considerar um programador bastante experiente. Estou programando há mais de 5 anos. Meu ponto fraco é terminologia. Sou autodidata, portanto, embora saiba programar, não conheço alguns dos aspectos mais formais da ciência da computação. Então, quais são os algoritmos práticos / estruturas de dados que eu …
Que tarefa Dijkstra deu aos voluntários, mencionado no artigo "O humilde programador"?
No artigo de Dijkstra, "Humble Programmer" , ele menciona que deu a alguns voluntários um problema para resolver: "Realizei um pequeno experimento de programação com voluntários realmente experientes, mas algo inesperado e inesperado apareceu. Nenhum dos meus voluntários encontrou a solução óbvia e mais elegante. Após uma análise mais minuciosa, …
O big-O é realmente relevante quando se trabalha na indústria?
Em todas as entrevistas em que participei, fui questionado sobre a análise matemática da complexidade, incluindo a notação O-grande. Qual a relevância da análise big-O para o desenvolvimento na indústria? Com que frequência você realmente o utiliza e qual a necessidade de ter uma mentalidade aprimorada para o problema?
Qual a importância de um programador saber como implementar um algoritmo QuickSort / MergeSort a partir da memória? [fechadas]
Eu estava revisando minhas anotações e me deparei com a implementação de diferentes algoritmos de classificação. Como tentei entender a implementação do QuickSort e MergeSort, ocorreu-me que, embora eu faça programação para viver e me considere decente no que faço, não tenho memória fotográfica nem capacidade intelectual suficiente para implementar …
Um programador competente deve conseguir criar seu próprio algoritmo de caminho mais curto?
Estou sofrendo uma crise de confiança na minha capacidade como programador de computador. Ontem tentei criar meu próprio algoritmo de caminho mais curto para um gráfico e depois de algumas horas simplesmente joguei a toalha e aprendi o algoritmo de Dijkstra. É esse o tipo de coisa que um bom …
Qual a diferença entre estes? Recursão Corecursão Na Wikipedia, há pouca informação e nenhum código claro explicando esses termos. Quais são alguns exemplos muito simples que explicam esses termos? Como a corecursão é o dual da recursão? Existem algoritmos corecusivos clássicos?
Sou estudante de CS e, sinceramente, não entendo os livros de Knuth [fechado]
Eu me deparei com esta citação de Bill Gates: "Você definitivamente deveria me enviar um currículo se puder ler a coisa toda". Ele estava falando sobre os livros The Art of Programming . Então, fiquei muito curioso e quero ler tudo. Mas honestamente, eu não entendo. Eu realmente não sou …
Qual é o seu problema favorito de entrevista no quadro branco? [fechadas]
Assim como o título diz, qual é o seu problema favorito de entrevista no quadro branco e por que ele se mostrou eficaz para você? Junior, senior, Java, C, Javascript, PHP, SQL, pseudo-código, etc.
Muitas vezes, no meu trabalho, surge a idéia de sincronização de dados bidirecional entre sistemas de banco de dados. O exemplo clássico é de dois sistemas de CRM ligeiramente diferentes (por exemplo, Raiser's Edge e Salesforce) e a necessidade de ter uma sincronização bidirecional de dados de contato entre eles. …