OK, definitely agreed. I honestly could not tell you about the different kinds of tree structures, but of course I know the difference between a list, linked list, tree, graph, (hash)map, and so on.
I find it hard to believe that someone could even competently do front-end work without some level of understanding of this. Last week I came across an issue where performance for $(".foo") selectors was problematic in IE<=8, which don't have a native document.getElementsByClassName() so jquery had to search the whole DOM. Solution was to select as $("div.foo"). Without knowing about the algorithmic complexity in searching a tree and the corresponding algorithmic simplicity in searching an indexed hashtable (such as {"div": [list of divs]} which I'm sure the browser keeps internally) this solution would have been non-intuitive.
I find it hard to believe that someone could even competently do front-end work without some level of understanding of this. Last week I came across an issue where performance for $(".foo") selectors was problematic in IE<=8, which don't have a native document.getElementsByClassName() so jquery had to search the whole DOM. Solution was to select as $("div.foo"). Without knowing about the algorithmic complexity in searching a tree and the corresponding algorithmic simplicity in searching an indexed hashtable (such as {"div": [list of divs]} which I'm sure the browser keeps internally) this solution would have been non-intuitive.