<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ephemeral.es &#187; Trabajo</title>
	<atom:link href="http://ephemeral.es/blog/category/trabajo/feed/" rel="self" type="application/rss+xml" />
	<link>http://ephemeral.es/blog</link>
	<description>Necesitamos replantearnos unas cuantas cosas</description>
	<lastBuildDate>Sun, 05 Sep 2010 17:53:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Cómo es una primera entrevista de trabajo para Google</title>
		<link>http://ephemeral.es/blog/2007/10/21/como-es-una-primera-entrevista-de-trabajo-para-google/</link>
		<comments>http://ephemeral.es/blog/2007/10/21/como-es-una-primera-entrevista-de-trabajo-para-google/#comments</comments>
		<pubDate>Sun, 21 Oct 2007 09:35:15 +0000</pubDate>
		<dc:creator>Sergio</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Trabajo]]></category>

		<guid isPermaLink="false">http://www.ephemeral.es/blog/2007/10/21/como-es-una-primera-entrevista-de-trabajo-para-google/</guid>
		<description><![CDATA[Hace ya casi un par de años, Google estuvo de visita por las universidades españolas haciendo publicidad y de paso buscando algún currito que le interesara. Yo estaba en mi último curso de carrera y tuve la suerte de poder acceder a la entrevista presencial, y me gustaría compartir mi experiencia por si alguien está [...]]]></description>
			<content:encoded><![CDATA[<p>Hace ya casi un par de años, Google estuvo de visita por las universidades españolas haciendo publicidad y de paso buscando algún currito que le interesara.</p>
<p>Yo estaba en mi último curso de carrera y tuve la suerte de poder acceder a la entrevista presencial, y me gustaría compartir mi experiencia por si alguien está planteándose intentarlo. Me consta que en algunas otras entrevistas hacen firmar una claúsula de confidencialidad, pero no fue mi caso.</p>
<p>La primera prueba era mostrar como sería la implementación de un diccionario predictivo parecido al de los móviles, a partir de una función ficticia que te indicaba si la palabra existe o no. La diferencia con el móvil real era que si pulsabas una tecla, el diccionario debía generar todas las combinaciones posibles con las letras que estén en la tecla. Por ejemplo, pulsando la primera tecla 3 veces (que tiene las letras a,b,c) debía generarse aaa, aab, aac, aba, abb, abc, aca, acb, acc, baa, &#8230; y así hasta ccc. Es decir, 3^n combinaciones, siendo n el número de teclas pulsadas. Por tanto, es un problema de explosión combinatoria: no podemos guardar esa cantidad de memoria, y menos en un móvil. Debemos ir generando las palabras e irlas validando contra el diccionario.</p>
<p><strong><a href="http://www.ephemeral.es/blog/uploads/2007/10/google1.c" title="Código Google 1">Implementación de la primera prueba.</a></strong></p>
<p>Por supuesto, en directo yo no hice esta implementación ;) De hecho, era consciente de que la que presenté era bastante peor, pero mejor eso que nada. Me fastidió bastante más porque 3 semanas antes había hecho un código similar para clase, pero con los nervios no fui capaz de recordarlo.</p>
<p>A ser posible en C++, pero si era C o pseudocódigo tampoco importaba mucho.</p>
<p>La segunda, consistía en implementar una división sin utilizar el operador /. Aquí cualquiera que haya pasado de primero de carrera, implementará con una sonrisa de satisfacción la división mediante restas. Entonces la pregunta es: ¿puedes hacerlo más eficiente? Plof. ¿Puedes intentarlo con una búsqueda binaria? El truco estaba en usar el operador de bits &gt;&gt; (desplazamiento a la derecha), que al eliminar el último bit del número equivalente a una división entera entre dos:</p>
<p><strong><a href="http://www.ephemeral.es/blog/uploads/2007/10/google2.c" title="Código Google 2">Implementación de la segunda prueba.</a></strong></p>
<p>Me pareció genial la solución a la que te hacen llegar, te da otra perspectiva de hacer las cosas.</p>
<p>La primera prueba fue en papel, y la segunda en pizarra, con un entrevistador cada vez, que te va haciendo alguna preguntas y dando pistas cuando te quedas atascado.</p>
<p>En conclusión, me gustó que la entrevista no fuera la estándar de &#8220;cuéntanos qué has hecho y dónde te ves en 5 años&#8221;, sino que había que demostrarlo en la práctica. Sin embargo, creo que una persona que se haya preparado un concurso de programación rápida pasaría sin demasiados problemas este tipo de entrevista.</p>
<p>Después le quedarían otras cuantas&#8230; pero esas ya no sé en qué consisten ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://ephemeral.es/blog/2007/10/21/como-es-una-primera-entrevista-de-trabajo-para-google/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
