Showing posts with label it jobs resume. Show all posts
Showing posts with label it jobs resume. Show all posts

Linked Lists in Programming


Arrays are quite useful in all programming languages. However, they also have some limitations. They require creating a new array with bigger size and copying the existing elements from the old array to the new one when the capacity of an array is overrun. Additionally, they have to shift some elements in an array when a new element is inserted because memory of an array is sequentially allocated. Such limitations can be overcome by dynamic structures, such as linked lists.It is not necessary to know the size of a list when it is created, so it is treated as a dynamic data structure. Rather than allocate memory for all elements when a list is initialized, memory is allocated for each node on demand when it is inserted. The space efficiency of lists is better than arrays because there is no vacant memory in lists.Memory allocation of a list is not continuous because nodes are inserted dynamically and their memory is not allocated at the same time. It costs O(n) time to get the ith node in a list since it has to traverse nodes one by one starting from the head node. It only takes O(1) time to get the ith element in an array. Therefore, time efficiency to search lists is not as good as for arrays.
Linked lists are the most frequently met data structures during interviews. It only takes about 20 lines of code to create a list, insert a node into a list, or delete a node from a list. Compared to other complex data structures, such as hash tables and graphs, lists are more suitable for interviews due to their moderate code size. Additionally, lots of pointer operations are required to handle a list. Candidates without qualified programming abilities cannot implement complete and robust code related to lists. Moreover, lists are also flexible and challenging interview questions can be constructed with them. Therefore, many interviewers like questions related to lists.
Most lists met during interviews are single-linked lists, where each node has a link to its successor. For example, “Print a List from Tail to Head”, “Delete a Node from a List in O(1) Time”, “kth Node from the End”, “Reverse Lists”, and “First Intersection Node of Two Lists" are all about single-linked lists.
Not only are single-linked lists popular for interviews, but other types of lists are also frequently met:
  • Usually the tail node in a single-linked list does not have a successor. If every node in a finite list has a successor, a loop is formed. The section Loop in List discusses lists with loops.
  • If there is also a link to a predecessor besides a link to a successor in each node of a list, it is a double-linked list. The interview question “Binary Search Trees and Double-Linked Lists” is in this category.
  • A complex list is composed if each node has a link to any other node (including the node itself). Please refer to the interview question “Clone Complex Lists” for more details on the complex list.
www.cinterviews.com appreciates your contribution please mail us the questions you have to cinterviews.blogspot.com@gmail.com so that it will be useful to our job search community

Converting a Number into a String

It is easy to check whether a string is a palindrome or not: We can check whether the first character and the last one are identical, and then compare the second character and the second one from the end, and so on. If the converted string is a palindrome, the original should also be a palindrome.
This solution can be implemented with the code in Listing 2-6, which converts a number into a string with the library function sprintf.
Listing 2-6. C Code to Verfiy Palindrome Numbers (Version 1)
/* It returns 1 when number is palindrome, otherwise returns 0. */
#define NUMBER_LENGTH 20
int IsPalindrome_solution1(unsigned int number) {
    char string[NUMBER_LENGTH];
    sprintf(string, "%d", number);
    return IsPalindrome(string);
}
int IsPalindrome(const char* const string) {
    int palindrome = 1;
    if(string != NULL) {
        int length = strlen(string);
        int half = length >> 1;
        int i;
        for(i = 0; i < half; ++ i) {
            if(string[i] != string[length - 1 - i]) {
                palindrome = 0;
break; }


}
    return palindrome;
}
Usually, this solution is not the one expected by interviewers. One reason is that while it is intuitive, interviewers expect something innovative, and another reason is that it requires auxiliary memory to store the converted string.
www.cinterviews.com appreciates your contribution please mail us the questions you have to cinterviews.blogspot.com@gmail.com so that it will be useful to our job search community

IT Softwarejob Resume Writing Tips

IT Softwarejob Resume Writing Tips
Information technology jobs are popping up in unheard-of numbers all over the world. After all, everyone uses computers today, which means everyone needs help figuring them out and fixing them when things go awry. But just because more IT jobs are available than ever before doesn’t mean that you can slap together a so-so resume and assume you’ll be hired. Why not? Because there are also more applicants than ever before. So it’s crucial that your resume is both eye-catching and informative. Below are some tips that will help you stand out from the IT crowd and land an interview for your dream job.
  • Target your resume to the job. Your resume will be given more weight if it’s clear that you’ve created it especially for the IT job that’s been posted. Look through the requirements for the job and make sure your corresponding skills and experience are the first things listed on your resume.
  • Use the skills section. Most people have a skills section on their resume, but they include two or three “skills” such as two years of college French or the ability to create PowerPoint presentations. For the IT resume, however, the skills section is one of the most important and should be placed before your work history. This is where you can really put yourself head and shoulders above the competition by listing all of your experience with and knowledge of hardware and software. Just make sure your lists are organized into easy-to-read segments.
  • Give certifications and experience equal weight. IT is one profession where experience counts at least as much as any certifications you have. Don’t get me wrong; certifications are important. They show that you’ve put in the time to learn important programs and procedures. But if you’re light on certifications, it’s not necessarily a deal breaker. Most companies would rather hire someone with three years of the experience they need than someone with a dozen certifications but no hands-on experience.
  • Demonstrate problem-solving abilities. At its core, information technology is all about problem-solving—finding a problem, identifying its cause, and correcting the problem. Make sure your IT resume reflects the most impressive ways you’ve used your problem-solving skills in the past to help your company or clients resolve their IT issues.
  • Avoid jargon and acronyms. Information technology uses more jargon and acronyms than just about any other field, so IT applicants need to be especially careful when it comes to abusing them on a resume. Don’t assume that someone familiar with IT terms will be reading your resume—at least not at every step in the process. Depending on the company, your resume may go through a general hiring manager first, and if he or she can’t decipher your resume, it may get tossed.
  • Don’t exaggerate. Stretching the truth, exaggerating, outright lying—call it what you will, but playing fast and loose with your experience or credentials will most likely come back to haunt you. Companies aren’t going to entrust their precious IT infrastructure to just anyone and usually do more extensive checking on IT candidates. Put your experience in the best light, but stick to the truth.
  • Identify your value. Clearly state the value that you will bring to your potential employer. Don’t assume that your skills, experience, and certifications are saying it for you; spell it out. “I am able to single-handedly support your mainframe needs, as evidenced by (insert experience)…” says a lot more to employers than a simple fact or number. Companies want to get the most bang for their buck, and you need to prove that hiring you is the best decision they could make.