I have found out the following about Netli (including just what I was told before signing an NDA): They have been around roughly 5 years and their business is providing speed improvements and local presence for companies dynamic web applications. Think Akamai, but geared to highly dynamic content/apps.
Spoke with Michele.
Reason I’m looking?
Recent layoffs affected people I worked closely with, including several that I had trained. I enjoy my new team as well, but it hasn’t been quite the same since my old co-workers and former boss left. Also, due to reorg, I find myself doing less challenging tasks, and rather than “coast” through this period I would prefer to step up to a newer challenge. Finally, I miss working in a “production” operation; I’m currently working in IT which doesn’t really allow me to use my creativity to make the company more competitive — IT is not SGI’s core competency. I want to feel like I’m working on something that’s important to customers (not just internal customers).
You wrote that you’re looking for either a manager or skilled specialist position?
Yes. In my past role at Altavista I was a “working manager” – probably 60% manager and 40% specialist. My management style is sort of dependent on being able to roll up my sleeves and get to work. If I don’t have direct reports, that doesn’t bother me much; I can still exert leadership by organizing, training, mentoring, managing projects, recommending good policy. I would expect some level of leadership from anyone in a “senior” role.
Do you think that sort of hands-on management style might limit your advancement?
That’s possible, even likely. I might eventually be comfortable in a “director” role depending on the size of the organization, but if I ever decide I want to be an “executive” I would need to change my management style.
[Michele disclosed some details of a previous job he had; roughly, he was going along great as a 60% manager 40% technical hands-on work, and later under new management they expected him to become a manager 95% of the time, and this was one of the reasons he left]
Yes, I understand what you mean. I find it strange that $company would not want “working managers” — if for no other reason than it might make you more flexible and give you resources you can press into service if needed.
In the QA roles you have had, what were some of the stages in the life cycle of a product?
At Apple there were pretty clearly defined stages, at least in the PowerTalk/PowerShare group. “Alpha” indicates that the product is feature-complete and new functionality is not expected to be added. “Beta” indicates that it’s ready for wider testing, features are “frozen” and changes will be more tightly controlled. “Final” indicates even more change control, where something won’t be fixed unless it’s highly severe. I have worked in other environments where the stages are not defined as such, but usually there are progressively fewer/smaller changes as ship date nears. [Michele gave positive feedback on this answer, and remarked that having exposure to a sense of “process” would be an asset]
What is TCP? What is UDP? Why would DNS use UDP? Are there cases where DNS uses TCP?
[I believe I answered this one pretty well, and got good feedback]
What’s the basic process of an HTTP request?
[I believe I answered this one pretty well, and got good feedback]
Are you willing to serve on call? How do you feel about talking to customers? Did you work with customers at AV?
On call is no problem. I feel better about serving on-call if I feel like I can be “part of the solution” and have a hand in fixing things so they don’t break the same way again. Talking to customers… I didn’t do that much at AV, because the “users” were not technically “customers” – ad revenue was the profit model. Occasionally I would get notes from users, sent to postmaster or whatever. I did much more working directly with customers at Terran, pretty much every day.
Can you give me an example of a perl script that searches a directory tree for a file matching a certain name pattern?
Something like this would probably work, if we’re allowed to use “find”.
my $dir = “var”; my $pat=”test”;
my @files = `find $dir -type f `; chomp @files;
foreach my $file (@files){
if ($file =~ /$pat/ ) { print $file, “n”; }
}
Okay, how would you approach it if you couldn’t use find or backtick?
my $dir = “var”; my $pat=”test”;
my @files = readdir($dir); #not sure about the syntax here
foreach my $file (@files){
my @statinfo= stat($file); $type=$statinfo[3]; #made-up number here
if ($type = “regular file”) {
#as before
if ($file =~ /$pat/ ) { print $file, “n”; }
} elsif ( $type = “dir” ) {
push(@files, readdir($file) );
}
}
I probably could have used recursion here, which would involve turning this into a function and making it so it can call itself. In some cases that’s better, but there are also cases where that can get you into trouble, or maybe place limits on scale or increase memory requirements. In this case, we’re kind of doing “do it yourself” recursion and using a list variable instead of a stack. It’s possible that the “foreach” would only see the initial list and not what was pushed, but in that case we could substitute while ($count++ < scalar(@files) ) or something, to make the end condition more explicit. [I didn’t think to point out that this code will list files in a pretty random order. I got favorable feedback though.]
Given this hypothetical situation, how would you react? A manager gives you a project with some requirements and asks you to go implement it, and after significant progress, you tell him what you have done. Your manager reacts negatively to how you decided to do it and basically asks you to rework it.
In that case I would do two things. I would start by explaining what was done and why I chose a particular route. At the same time, I would listen and try to determine what my manager’s concerns are. In the process of listening, I often find that there’s an intellectual message, and then there’s an emotional component to what’s being said. If possible, I need to scratch the surface a bit and find out why my manager feels this way, so that I can acknowledge the feeling, and reassure him that his feedback is being listened to, then hopefully I would make a compelling proposal as to why I would recommend going forward with the design as written (assuming I still feel it is right). Ultimately it’s this manager’s call as to whether we keep going or rework the design, so if he persists it’s likely I would eventually cave, but I would want to try once or twice to let him know what costs are involved with the rework.
Met with Stephen
What versions of Redhat have you worked with?
At AV, I believe it was 7.0 or 8.0. More recently I have worked with ES4/AS4 a fair amount. [good feedback on this]
Talk about your role at SGI?
[Mostly net services e.g. mail, dns, proxy. More recently DCO, working with application servers. I failed to mention Remote, probably a good thing. Stephen shared that he used to work at SGI in MTI.]
What do you consider a “meduim to large perl script”?
Actually I have an example of something I wrote recently. [gave him a printout of mycollect which is about 8 pages. Got some good feedback.]
[Referring to script] What does this part do, specifically: sub catch_usr1 { $SIG{USR1} = &catch_usr1 ; $stats_requested = 1 ; } $SIG{USR1} = &catch_usr1 ;
[Explained signal handling a bit, good feeback.]
How about this part, what does it do and how does it work exactly? open (INPUTFILE, “< $inputfile” ) or die “Unable to open $inputfile : $!” ;
[Explained about return value of “open” and how “or” executes the first part, and only continues to the second part if a false value is returned. Good feedback.]
How does http work? Is it different with SSL?
[good feedback on my answers here]
[Asked a DNS question I don’t recall specifically. Generally good feedback.]
Met with Paddy.
What happens when I type “telnet fubar.com”?
[Explained about dns lookup, handshaking for tcp, etc. good feedback.]
[Questions about how TCP selects a certain service (answer: port numbers) and how DNS works (udp/tcp). Also, why do we need DNS? Positive feedback.]
Let’s say hypothetically that TCP has been altered somehow so that it doesn’t depend on DNS. For example, say that there are specific names that TCP knows how to handle without having to contact the resolver? How might that work?
OK, I can sort of imagine that. Let’s say TCP knows how to contact something that isn’t an IP address. In my mind this is sort of like “special” addresses that IP handles, like 127.0.0.1 or like if you type “ping 12345”. An altered version of TCP that doesn’t contact an IP address would probably still use a handshaking of some kind, retransmit things, etc. [not sure what that question was all about but I think feedback was good]
How does TCP take care of error correction?
Basically, each time a packet is sent, it is also held in memory in case it is not acknowledged for x time (it is sent again), or a later packet is seen (receiver explicitly requests a retransmit of the missing item). The stuff in memory can only be dropped when delivery is confirmed.
Is TCP perhaps not well-suited for HTTP because HTTP uses records (lines)? Why or why not?
[Not sure what I answered here but I think I got good feedback.]
[We talked a bit about VIPs, load-balancing. I explained that I had worked with BigIP and 3dns, and that AV went through a period when there was no load-balancer. We basically had “magic” IP addresses that each web server would “route” to itself, and publish BGP routes for, and in case one “router” (web server) went down, another route to the same “virtual” IP was available through another web server. Very crude but it worked.]
Perl- Which of the following are “true” and result in a positive result in if () else ()…
if ( 0 ) # FALSE
if ( 4 ) # TRUE
if ( “”) # FALSE
if (“text”) #TRUE
Have you heard of TTCP (transaction tcp?)
No I have not, sounds interesting.
Went to lunch, Chef Chus.
Met briefly with Misha. I asked him who this position would report to? Him, we think, for now.
[I asked what trends are happening, or coming up, in the group? Most likely lots of growth, more emphasis on making things automated and repeatable.]
Set appointment for second round of talks. Good vibe!
*claps her hands and keeps her fingers crossed.*
thanks! will keep you posted!
Good luck! And thanks for typing out the questions and answers like you do, it’s both interesting and helpful to read them!
Thanks! And you’re quite welcome. I’ll keep everyone posted.
Sounds like good feedback in general. That hypothetical TCP question sounds odd to me, since TCP does not depend on DNS in any way. I would have asked for clarification. For the error correction question, I would’ve asked if the question concerned packets with (checksum) errors or undeliverable packets.
You’re right, I guess it’s “telnet” that relies on DNS and TCP probably doesn’t care. I am now not sure how it was phrased exactly, but it was something like “imagine TCP using something other than IP addresses”. I think I did OK on that based on the response but I didn’t come up with anything witty or brilliant.
Anyway I’ll keep everyone posted. Thanks!