Skip to content

Instantly share code, notes, and snippets.

View jballanc's full-sized avatar

Joshua Ballanco jballanc

View GitHub Profile

Personally, when conducting technical interviews, I try to keep the interviewee right at the limits of their knowledge and ability. It's sort of like standing blindfolded in a room and walking in different directions until you hit a wall to get a sense of the size of the room (don't try this at home). So this often involves starting overly complex, then walking back until you find the interviewee's comfort zone. Let them demonstrate their knowledge for a while (and hopefully gain back some confidence), then push them out to the complexity zone again until they stop answering/start looking uncomfortable again.

To give a concrete example of what that would look like with this question (let's call "A" the interviewer and "B" the interviewee):

A: Thanks for coming in today! We here at CompuMegaCorp are glad you decided to interview with us, and personally, I hope you're enjoying the day so far...

B: Uh...yeah (shifts nervously in seat)

A: Great! So, for the projects you'd be working on here, we make heavy use

@jballanc
jballanc / -
Created September 1, 2016 02:07
59CGHPjM$X]r+n38WYp<KVD4z!1&0`u
function f(x)
if x > 0
unshift!(f(x-1), 1)
else
[1]
end
end
function crash(low, i, high)
try
immutable DefaultDict{K, V} <: Associative{K, V}
dict::Dict{K, V}
default::V
end
function DefaultDict(val)
return DefaultDict(Dict(), val)
end
function Base.getindex{K, V}(dd::DefaultDict{K, V}, key::K)
;; -*- mode: dotspacemacs -*-
;; This file is loaded by Spacemacs at startup.
;; It must be stored in your home directory.
(defun dotspacemacs/layers ()
"Configuration Layers declaration."
(setq-default
;; List of additional paths where to look for configuration layers.
;; Paths must have a trailing slash (ie. `~/.mycontribs/')
dotspacemacs-configuration-layer-path '()
> mkdir -p foo/src/foo
> cd foo
> echo "(ns foo.core (:gen-class)) (defn -main [& args] (println \"Hello, world\"))" > src/foo/core.clj
> boot -s src pom -p foo -v 0.1.0 jar -m foo.core
Writing pom.xml and pom.properties...
Writing foo-0.1.0.jar...
> java -jar target/foo-0.1.0.jar
Error: Could not find or load main class foo.core
> boot -s src pom -p foo -v 0.1.0 uber jar -m foo.core
Writing pom.xml and pom.properties...
@jballanc
jballanc / confused.rb
Last active August 29, 2015 14:16
Crazy...
dislike = ->() {}
like = ->(thing = define_method(:confused, &dislike) && "ice cream") { puts "I like #{thing}" }
dislike = ->(thing = define_method(:confused, &like) && "broccoli") { puts "I don't like #{thing}" }
define_method(:confused, &like)
confused("ayran")
confused
confused("homework")
confused
confused("kunefe")
set nocompatible " We're running Vim, not Vi!
syntax on " Enable syntax highlighting
filetype off " Disable filetype detection to keep Vundle happy
set shiftwidth=2 " That's a good tab width
set expandtab " ...and we don't like tab chars
set softtabstop=2
set tw=90 " 90 chars fits two columns on my screen
set wrap
set fdm=syntax " Use syntax to define folding
set fdls=99 " ...but start off unfolded
;; Load up package management, setup Marmalade, and load default package set
(require 'package)
(add-to-list 'package-archives
'("melpa" . "http://melpa.milkbox.net/packages/")
'("marmalade" . "http://marmalade-repo.org/packages/"))
(package-initialize)
(defvar my-packages '(ido-ubiquitous
clojure-mode
cider
(ns foo.core)
(defn -main [& args]
(println "Passed in 'args' are:" args))