|
[edit] nevermind I am dumb New Yorp New Yorp fucked around with this message at 17:19 on Nov 13, 2015 |
# ? Nov 13, 2015 17:15 |
|
|
# ? Jun 7, 2024 01:56 |
|
Yeah, KernelSlanders pointed out I used +j where I should have used -j. Past my bedtime brain fart. If they wanted me to check inputs, I would probably do it iteratively instead. Initially check to make sure that str is not null, set i to 0, set j to str.length(), and do a while loop. Doing it recursively, all I can think of is a second outer method to do those steps. I would have to throw a custom exception in the case of str being null, I think. I don't have much experience doing that. E: implementing a heap, I'm thinking you would want to make a tree out of nodes, with up, left, and right pointers. The thing is it seems messy as hell, with maybe 8-10 lines of code. I know there is a jtree structure, are there methods in that class that I should be using? 22 Eargesplitten fucked around with this message at 17:44 on Nov 13, 2015 |
# ? Nov 13, 2015 17:19 |
|
22 Eargesplitten posted:I would have to throw a custom exception in the case of str being null, I think. I don't have much experience doing that. code:
|
# ? Nov 13, 2015 17:48 |
|
I assumed that something might go wrong down the line if the program thought it had been a valid string.
|
# ? Nov 13, 2015 18:04 |
|
22 Eargesplitten posted:I assumed that something might go wrong down the line if the program thought it had been a valid string. What happens if you pass a null string into your isPalindrome method (not including the null check Kuule hain nussivan suggested)? When does it happen? Is there anything better the method can do when given a null string? Is there anything better the method should do?
|
# ? Nov 13, 2015 18:40 |
|
Honestly, when I googled briefly I didn't see anything about the behavior of null strings when called. I would assume there's a runtime error when you attempt to call a method on the string. Static variables are variables where there can only be one value for them throughout every instance of the class, correct? And finals can't be changed after being assigned? So by making a static final variable, you basically get an equivalent to a C++ constant? And you can implement multiple interfaces, but you can only inherit one abstract class. You have to implement every interface method in the classes implementing it, but you don't have to implement every method from an abstract class. Is there anything else crucial I'm missing?
|
# ? Nov 13, 2015 19:55 |
|
22 Eargesplitten posted:Honestly, when I googled briefly I didn't see anything about the behavior of null strings when called. I would assume there's a runtime error when you attempt to call a method on the string. Calling 'null.charAt(i)' will throw a NullPointerException. You can't invoke method calls on null. For the other cases, calling charAt() with an invalid index ( < 0 or > string.length) will throw an IndexOutOfBoundsException. This is all assuming Java, but other languages are similar.
|
# ? Nov 13, 2015 20:18 |
|
22 Eargesplitten posted:Honestly, when I googled briefly I didn't see anything about the behavior of null strings when called. 22 Eargesplitten posted:I would assume there's a runtime error when you attempt to call a method on the string. 22 Eargesplitten posted:but you don't have to implement every method from an abstract class. Is there anything else crucial I'm missing?
|
# ? Nov 13, 2015 20:38 |
|
In my experience runtime errors bring up an error and the program just stops there. That might not be a consistent behavior, though. Would you have to implement methods from an abstract class when that abstract class itself is implementing an interface?
|
# ? Nov 13, 2015 21:02 |
|
22 Eargesplitten posted:In my experience runtime errors bring up an error and the program just stops there. code:
As a matter of style, you don't usually have to handle null references passed to your method as, eventually, a NullPointerException will be thrown. The three instances in which you should handle null references are (i) if the API you're implmenting specifically allows for them, (ii) the methods you call internally do something wrong when passed null values, and (iii) if care is needed to make sure that the NPE doesn't leave some external resource in an inconsistent state. 22 Eargesplitten posted:Would you have to implement methods from an abstract class when that abstract class itself is implementing an interface?
|
# ? Nov 13, 2015 21:48 |
|
For the palindrome question, I'd expect that "A man, a plan, a canal: Panama" would be a valid palindrome. That's an example from a real technical interview I've gotten before. Basically that's the kind of thing that you'd expect an interviewee to clarify, because it's non-obvious to start with how strict you're being with the definition of a palindrome. It's very common for there to be at least a little ambiguity in the initial question.
|
# ? Nov 13, 2015 22:25 |
|
Cicero posted:For the palindrome question, I'd expect that "A man, a plan, a canal: Panama" would be a valid palindrome. That's an example from a real technical interview I've gotten before. Basically that's the kind of thing that you'd expect an interviewee to clarify, because it's non-obvious to start with how strict you're being with the definition of a palindrome. It's very common for there to be at least a little ambiguity in the initial question. I'm teaching myself JS and one of the test questions I had a few days ago was to write something to check for palindromes. I just ran that Panama phrase through it and it passed. Proudest I felt all month.
|
# ? Nov 13, 2015 22:47 |
|
Simplicity of implementation and ability to flex the specification is exactly the point of asking the palindrome question. Personally I start with a simple definition of a palindrome and if the applicant gets it right, then I ask how to extend their solution for more complicated cases like case insensitivity and punctuation. The biggest thing to remember for any "implement this" question: clarify the inputs and expected outputs with the asker. It's expected of you to do this.
|
# ? Nov 13, 2015 22:49 |
|
22 Eargesplitten posted:Yeah, KernelSlanders pointed out I used +j where I should have used -j. Past my bedtime brain fart. You *can* implement a heap using a tree, but implementing it with an array is going to be much more space and time-efficient.
|
# ? Nov 14, 2015 09:48 |
|
So if one applies for development jobs is it normal to get calls or interviews for other things? I'm hunting entry level dev jobs and have noted that in cover letters or web applications but my only interviews so far have been for non-dev things.
|
# ? Nov 14, 2015 17:43 |
|
ToxicSlurpee posted:So if one applies for development jobs is it normal to get calls or interviews for other things? I'm hunting entry level dev jobs and have noted that in cover letters or web applications but my only interviews so far have been for non-dev things. I get recruiter spam for roles like insurance salesman or IT helldesk all the time. Sometimes I get them for a QA role, which is less annoying.
|
# ? Nov 14, 2015 18:29 |
|
I get so many ads for UPS loading/unloading positions. No, using the label scanner does not count as a technical role. For a heap in an array, does that just mean you'd have to swap positions? Yeah, that's a lot easier. 22 Eargesplitten fucked around with this message at 21:10 on Nov 14, 2015 |
# ? Nov 14, 2015 21:05 |
|
Hey I could use some advice. I'm in a good position but I've been thinking a lot about me future recently and am trying to figure out if I should get a master's. I graduated university with goodish grades (B+) from a prestigious Canadian university with a degree in Biochemistry. I got a job at a local biotech and while my boss was on maternity leave, I started to learn Python to automate some boring text entry stuff. That was two years ago and I've been promoted three times as my technical skills have grown. My job title now has words "Technical Lead" in it, which is nice. My job is split between managing a bunch of small Wordpress websites, running QA on the big company website and writing scripts when people need them. I still love biochemistry but I've been devouring computer science in my spare time. I've done a couple dozen Lynda/Pluralsight courses and completed Coursera/EdX courses in algorithms, linear algebra, bioinformatics and embedded programming. I read The Master Algorithm by Pedro Domingos and it's got me obsessed with machine learning and data science. I would love to help push the fields forward but I have a suspicion that I'll need at least a master's degree before anyone would seriously consider for that type of position. Has anyone here tried doing an online master's while working full time? Would it be worth pursuing a formal computer science degree? How can I make myself a more attractive candidate?
|
# ? Nov 14, 2015 21:22 |
|
If you want a job where machine learning and/or data science are an important component of what you're doing, I don't think a master's will help you much. It's better to keep self-teaching and work on developing some work of your own that you can use to demonstrate your competence. Given what you're interested in, kaggle might be a good path forward. If I was trying to hire people for middle of the road machine learning work, I'd give way more credence to a strong record on kaggle than to a master's degree. You can also learn a lot from the community there.
|
# ? Nov 14, 2015 21:36 |
|
Awesome. I've never heard of kaggle before. I'll give it a shot.
|
# ? Nov 14, 2015 21:58 |
|
Is this a good place to ask for advice about a company's culture? I've got one offer that sounds pretty good, and I anticipate another offer from my recent second-round interview, but I've heard some mixed things about this second company.
|
# ? Nov 14, 2015 22:01 |
|
22 Eargesplitten posted:I get so many ads for UPS loading/unloading positions. No, using the label scanner does not count as a technical role. Right, with the ith element being the parent of 2i+1 and 2i+2. Then you can add elements by putting them at the end of the array and swimming, and delete-min by taking the first element, moving the last element to the first element's slot, and swimming it. greatZebu posted:If you want a job where machine learning and/or data science are an important component of what you're doing, I don't think a master's will help you much. It's better to keep self-teaching and work on developing some work of your own that you can use to demonstrate your competence. Given what you're interested in, kaggle might be a good path forward. If I was trying to hire people for middle of the road machine learning work, I'd give way more credence to a strong record on kaggle than to a master's degree. You can also learn a lot from the community there. I think it's fairly common for data science/machine learning jobs to ask for candidates to have at least a master's. Those jobs will not, in general, involve much "pushing the field forward", though.
|
# ? Nov 14, 2015 22:37 |
|
I have a resume question. My university has a format they wanted all of us to use for our co-ops and general job hunt. I've heard opinions on this format all across the board, but I wanted to get some more opinions on it from a software engineering standpoint. My main question was if I should have a section to talk about some projects I've done for classes or anything like that, or if I should just keep it standard as it is if I don't have anything super awesome that would be worth showing off. Alternatively, I can just rebuild the resume in a different format (such as Cicero's in the OP) if that format is absolutely awful. Resume
|
# ? Nov 14, 2015 23:09 |
TheOtherContraGuy posted:I read The Master Algorithm by Pedro Domingos and it's got me obsessed with machine learning and data science. I would love to help push the fields forward but I have a suspicion that I'll need at least a master's degree before anyone would seriously consider for that type of position. Has anyone here tried doing an online master's while working full time? Would it be worth pursuing a formal computer science degree? How can I make myself a more attractive candidate? As someone with an MS, I was able to get offers at smaller shops where the main job was data engineering with an eye towards working on some ML stuff, but it was unlikely to push the field forward. If you are really really committed to doing research and pushing the field forward, that's the entire point of a PhD. The research-heavy positions that I looked at all listed PhDs as a hard requirement. That's a hell of a commitment though, so I'd start with something like Kaggle as greatZebu mentioned. I have seen a couple places using Kaggle standings as a recruitment tool, and obviously on Kaggle you're free to experiment with whatever algorithms and tools you want.
|
|
# ? Nov 14, 2015 23:55 |
|
jaffyjaffy posted:I have a resume question. My university has a format they wanted all of us to use for our co-ops and general job hunt. I've heard opinions on this format all across the board, but I wanted to get some more opinions on it from a software engineering standpoint. My main question was if I should have a section to talk about some projects I've done for classes or anything like that, or if I should just keep it standard as it is if I don't have anything super awesome that would be worth showing off. Alternatively, I can just rebuild the resume in a different format (such as Cicero's in the OP) if that format is absolutely awful. Drop the street address, keep the city when the job's local, don't have a separate home/cell number (just cell), drop the references section, and don't call it "Computer Skills," because that's for secretaries. And "Microsoft Windows" and "Linux" are great skills if you're applying for the Special Olympics but I'd put something like POSIX or something about the Windows API if you have programming experience specific to that. Some of your bullet points have one space after the bullet, while others have zero. Overall it's a perfectly reasonable resume format, stylistically, but you should remember that university "career center" type help will at best keep students from making an awful monstrosity of a resume. That's their core competency, and it's probably very useful for some students. You should treat their advice with as much weight as you'd treat advice from a goon with a 2004 regdate, or worse, an anime avatar, i.e. question whether it makes sense, see if they have reasons for their opinion. I recommend trying to write your objective without using the words secure, academic, endeavors, or Computer Science (which shouldn't be capitalized, by the way). You want something in the field of software development or software engineering, I'd say. That sentence gets mapped by the reader into a first impression, and you should try hard to tingle the right neurons. I think your use of the present tense in the experience section is weird, and the most interesting things are the robotics challenge and your previous/current job. I want to know what you mean by scripts, what language they were written, some more roughage that would make you feel more like a real programmer. It's sort of like your resume goes out of its way not to talk about any actual programming that you've done. I think talking about projects in classes is kind of lame, but if you only have one job under "experience" to talk about... it depends on the project and how interesting it is, ultimately, and whether it's better than what's getting removed from the resume to make room for it.
|
# ? Nov 15, 2015 01:12 |
|
jaffyjaffy posted:I have a resume question. My university has a format they wanted all of us to use for our co-ops and general job hunt. I've heard opinions on this format all across the board, but I wanted to get some more opinions on it from a software engineering standpoint. My main question was if I should have a section to talk about some projects I've done for classes or anything like that, or if I should just keep it standard as it is if I don't have anything super awesome that would be worth showing off. Alternatively, I can just rebuild the resume in a different format (such as Cicero's in the OP) if that format is absolutely awful. I've seen worse. "Objective" is probably better framed as "summary of qualifications" where you give a two-three sentence elevator pitch for yourself. My reasoning for this is because technology has a lot broader a variety of jobs at the entry level compared to, say, accounting. If you're absolutely wedded to having an objective section, be more specific about what you want in particular, since "the field of computer science" is extremely broad. Do you want a webdev job? Mobile dev? Sysadmin? Security? Computer janitor? Right now it reads as if you'll take something, anything as long as it involves touching a computer -- which you might think is the position you're in, but if you can write Android code, you can do worlds better than computer janitor in the bowels of First Bank of Anytown's IT department. It might help to rewrite your experience bullet points to be more specific, too. Wrote scripts to improve what workflow? By how much? In what languages? Maintained what kind of computer system? What level of administrator/manager-type creature did you report to? Reading your resume I'm confident that you've taken money for touching a computer before, probably for opening a non-MS-word editor and typing poo poo into it -- but I don't have much more than that to go on. I don't think the course list is useful unless they're electives and specifically linked to your job goal. I'd also strongly consider killing the "special skills" section unless you can expand on them to be specific and job-related. To me, those signal that you're a little uninformed/unsophisticated regarding business (which might be the case, but for heaven's sake, try not to look it when you're dealing with the business types). The robotics challenge thing is interesting. I'd consider making a "Projects" section, moving that to there, and explaining more -- being able to say you're a national champion in anything is a way to stand out. The Rocket Gold scholarship might be interesting depending on what the qualifications are and how much - if it's for maintaining a high math/science GPA, for instance.
|
# ? Nov 15, 2015 02:32 |
|
Tao Jones posted:The Rocket Gold scholarship might be interesting depending on what the qualifications are and how much - if it's for maintaining a high math/science GPA, for instance. It was that school's equivalent of a full-ride scholarship for high school GPA. I was considering dropping the courses part entirely since most of the big companies (Google, for one according to the e-mail I got from their rep) seem to request an unofficial transcript as well, which would tell them everything course wise. Projects for class assignments were pretty standard fare (I can edit this later if anyone want specifics) but the big standout project would probably be the one I'm doing now for a capstone project with a team. We're developing a "smart pantry" app that'll let a user scan a UPC on some product to add it to a sql (sqlite) db, then pull that db into another section will recipes that will be displayed based on what is in the pantry database. There is also some Bluetooth interaction that will talk with these dispensers an mechanical engineering student is working on. The scripts I wrote at my current job were just standard IT fare stuff (IE temp file deletion since it's the only fix for the broken EMR we are using, etc) just done with batch files since that was the best solution for that task. Unfortunately I haven't had the opportunity to do any "real" programming in Java/C++ or what have you. I will elaborate on those though, since any experience developing something that will be used by a bunch of people (and writing/maintaining documentation for that) is better than nothing. Thanks for the feedback, everyone! edit: I'm looking at a few other formats and they drop the objective section entirely. Is that only recommended with more real work experience? edit2: The SumoBot thing was technically done in high-school, but I think it's worth keeping since it was a big year-long team project that dealt with budget management and everything. We also built a BattleBot within that project, but unfortunately we couldn't compete with that due to logistics with the school district. As it stands I'm fleshing out both as they were part of the same project and putting that in a projects section I'm drafting as well. jaffyjaffy fucked around with this message at 21:33 on Nov 15, 2015 |
# ? Nov 15, 2015 06:16 |
|
jaffyjaffy posted:edit: I'm looking at a few other formats and they drop the objective section entirely. Is that only recommended with more real work experience? Don't do an Objective. Same with the "references available on request" stuff. Edit: these are covered in the OP of the resume thread, which you should definitely read http://forums.somethingawful.com/showthread.php?threadid=3553582 Star War Sex Parrot fucked around with this message at 06:58 on Nov 15, 2015 |
# ? Nov 15, 2015 06:54 |
|
I don't think anyone has ever requested a reference. I stopped putting references on my resume, that's one free line you're burning up on a formality that you could stuff full of A- or B+ -grade buzzwords, skills, projects etc. instead.
|
# ? Nov 15, 2015 07:32 |
|
TheOtherContraGuy posted:I read The Master Algorithm by Pedro Domingos and it's got me obsessed with machine learning and data science. I would love to help push the fields forward but I have a suspicion that I'll need at least a master's degree before anyone would seriously consider for that type of position. Has anyone here tried doing an online master's while working full time? Would it be worth pursuing a formal computer science degree? How can I make myself a more attractive candidate? Like what other folks said, a PhD is your best bet for pushing the field forward and it is generally seen as the route to get those really interesting research oriented ML jobs. Kaggle is probably applicable to a more data analyst/statistician style day to day job (which is part of data science) - finding what combinations of the pre-existing tools gives best predictive fit, etc. Data engineer is the infrastructure development oriented role where you work on the underlying technology and build up the API for analysts. Phds/professors get to work on the fuzzier/higher order problems where you don't know if there is even an answer. One interesting talk I've seen was on how can you predict if a Twitter post goes viral. You see researchers decompose the problem in different ways depending on what you want to know. There's the NLP problem of what word characteristics form an interesting post to the CS/stochastic problem of expected time of a super viral post.
|
# ? Nov 15, 2015 12:31 |
|
^^^ That's definitely something I'd prefer to work on rather than code monkey level stuff, but doing a PhD is... questionable So through a colleague's former classmate I got offered to work on a C++ project: quote:The work involves modifying a FileMaker plugin and daemon to use OmniORB instead of DCE RPC for 32/64bit multiplatform compatibility. Apparently the IDL definition file can be converted with MIDL. So my question isn't technical, I'm sure I'll figure it out eventually. I'd like to do this project to get more experience with something above hobby-level stuff while getting paid for it, with eventually landing an interesting C++ job. So could I approach this? Should I explain this to the guy? Or just say "I'll do it, the rate is $100/hr" and then improvise? Not do it at all?
|
# ? Nov 17, 2015 11:34 |
|
I wouldn't do a PhD unless you like to write papers and proposals more than you like to write code.mobby_6kl posted:So through a colleague's former classmate I got offered to work on a C++ project: Plus, there's a very good chance the plugin was written in the 90s and predates ISO C++ and possibly STL, let alone C++11/14 and all its modern idioms. The experience you'd get, aside from general distributed systems experience, won't really apply outside of dealing with other 20+ year old codebases. Honestly I think your cousin's former roommate should find some old CORBA veteran to do the job and you should concentrate on modern technologies. ExcessBLarg! fucked around with this message at 17:41 on Nov 17, 2015 |
# ? Nov 17, 2015 17:38 |
|
I'm about a year from finishing a Ph.D (Psychology). Although I am still pursuing academic jobs, I am also tempted by industry. Specifically I would be interested in the "data science" side of things (would prefer more a title closer to "analyst" than "engineer" but I'd like to think I'm qualified for both) as I seem to enjoy developing computing tools for science/statistics as much as the actual science itself. But anyways, my question isn't about my qualifications. What I'm wondering is: when should I start applying for jobs? I don't even know for sure when I'll be done, I'd say 75% chance during fall semester 2016, 25% chance spring semester 2017. However the academic cycle takes a long time so I am already having discussions about potential post-docs. This is likely to involve applying for grants, etc. that would require me to commit to the opportunity. However I don't want to commit without knowing all my options. Is it too soon to apply for an industry job if the start date couldn't be for at least year?
|
# ? Nov 17, 2015 21:18 |
|
ExcessBLarg! posted:Honestly I think your cousin's former roommate should find some old CORBA veteran to do the job and you should concentrate on modern technologies. Thanks, this is exactly the kind of feedback I was looking for. Maybe the question was more C++ specific than I realized. Anyway, I'll tell him I'm not his guy unless I guess he's really desperate/rich I guess.
|
# ? Nov 17, 2015 22:56 |
|
SurgicalOntologist posted:I'm about a year from finishing a Ph.D (Psychology). Although I am still pursuing academic jobs, I am also tempted by industry. Specifically I would be interested in the "data science" side of things (would prefer more a title closer to "analyst" than "engineer" but I'd like to think I'm qualified for both) as I seem to enjoy developing computing tools for science/statistics as much as the actual science itself. The initial transition out of academia is tough, especially if your PhD isn't in an engineering discipline. I did it a year or so ago (from Neuroscience) and I've been doing what I can to help others behind me. I would recommend you start looking about a year ahead of time. Data science is a big field and it takes a while to figure out where all the niches are and which one you'd fit into. You won't be actively applying until a few months before you graduate. Sadly, job hunting isn't like applying to grad school. You don't get to apply to a bunch, see who accepts you, and then pick the one you like most. You have to take interviews/offers as they come and either accept and be done with the job search or pass and keep looking. From your posts in the python and scientific computing threads I think you've got a good foundation. Also, if you're in the NYC area shoot me a PM.
|
# ? Nov 18, 2015 07:22 |
|
KernelSlanders posted:The initial transition out of academia is tough, especially if your PhD isn't in an engineering discipline. I did it a year or so ago (from Neuroscience) and I've been doing what I can to help others behind me. I would recommend you start looking about a year ahead of time. Data science is a big field and it takes a while to figure out where all the niches are and which one you'd fit into. You won't be actively applying until a few months before you graduate. Sadly, job hunting isn't like applying to grad school. You don't get to apply to a bunch, see who accepts you, and then pick the one you like most. You have to take interviews/offers as they come and either accept and be done with the job search or pass and keep looking. Thanks, appreciate the advice. What should I be doing up until I'm actually applying? Obviously, practicing interview skills, studying, that kind of thing. But should I also be seeking informational interviews or something like that?
|
# ? Nov 18, 2015 16:51 |
|
SurgicalOntologist posted:Thanks, appreciate the advice. What should I be doing up until I'm actually applying? Obviously, practicing interview skills, studying, that kind of thing. But should I also be seeking informational interviews or something like that? Yeah, definitely line up lots of coffee meetings. Talk to as many people as you can. Brush up on both software engineering and statistics, whichever you've had less practice at lately. I'd also suggest studying a little business/marketing theory. It will help you in your later round interviews to be comfortable with jargon like margin, churn, CTR, etc. Those are the types of things you may have to design experiments to optimize. I think the most important thing is having a good understanding of how to explain your accomplishments in a interview/resume friendly way, which can differ significantly from how you would describe them to other academics. Focus on outcomes. Methods are only necessary if needed to demonstrate a particular skill (like Python).
|
# ? Nov 19, 2015 03:40 |
|
I've done some web development in the past, both part-time, on contract and freelance, but I'm still somewhat of a junior developer and I've been looking for something more stable - here's my anonymous resume - any suggestions on things I should change and comment on? How should I be looking for jobs? I live in a major tech market, but all the jobs I'm finding are asking for 4-5 years of experience
|
# ? Nov 19, 2015 20:26 |
|
sexual rickshaw posted:I live in a major tech market, but all the jobs I'm finding are asking for 4-5 years of experience Apply anyway, the numbers are mostly bullshit.
|
# ? Nov 19, 2015 20:30 |
|
|
# ? Jun 7, 2024 01:56 |
|
Bognar posted:Apply anyway, the numbers are mostly bullshit. What was the quote about "the requirements are like a kid's Christmas wish list?" I've heard cases of a guy right out of college getting a senior position because literally nobody else applied for it. Worst case scenario is you send your resume in and they say "no" or just ignore you.
|
# ? Nov 19, 2015 20:39 |