以上:能否找到一些初级的iOS工作呢?
另外谁能简单的介绍一下"数据结构与算法"是什么吗,为何关于iOS的相关课程里似乎并未有这部分内容呢?
所做的两个Demo如下:
黄舟2017-04-17 13:58:34
No way, although you have done projects to get extra points and show them to the interviewer on github or stackoverflow, this is the most direct and violent way to examine intelligence, potential, and basic abilities (you say you have the ability, but the interviewer is You can't figure it out within an hour, so you have to agree to play a game like this. You practice these data structure algorithms, and I will find some from them to test you. Of course, if you are doing upper-level applications, you will not use them at work in the future. , because some libraries are packaged for you, unless you do some low-level development)
Data structure: linked list, stack, queue, search binary tree, red-black tree, B-tree, graph
Algorithm aspects: Various sorting (quick sort, heap sort, etc.) Various search divide and conquer methods (reverse counting, median, etc.) Dynamic programming (longest increasing sequence, largest and continuous arrays, longest common subsequence, etc.)
I think you can pick some typical questions and attack them, and you can go through them in a few days (real practice, this pretense is useless)
You can also find some questions to do on leetcode
巴扎黑2017-04-17 13:58:34
我没有开发过ios,所以第一个问题我没有办法回答你。但对于第二个问题,我还是可以说上两句。
I am a student in the Department of Computer Science. Data structure and algorithm are our professional courses, which are also the basic skills of programmers. I believe that iOS courses will not include these contents, and there are no android tutorials. In fact, there is nothing about the development platform. None of the tutorials will teach you these contents. They all assume that you have more or less mastered some contents, because these things are very basic and are common in the computer world. Of course, the development threshold is very low now. If you want to make a general application, you can’t use these things. It doesn’t matter whether you learn it or not. But if you want to make a complex application, it won’t work without these basic skills. Just use WeChat. It is said that its client is actually not complicated, but it has 500 million users and generates so much information every day. If the server back-end is not optimized well, the server will crash. Therefore, it is necessary to design an algorithm as efficient as possible to execute so many requests, and to design a good data structure to store so much content generated every day. (It seems that you have not studied computers systematically).
Simply put, a data structure is a structure that stores data, such as the most basic array, which you must have used. There are also linked lists, stacks, queues, hash tables, heaps, rooted trees, graphs, etc. If you want to know more about it, you can search online.
Algorithms are steps to solve problems. The most basic one is the sorting algorithm. Think about it, can you implement it? How many can be achieved? There are also dynamic programming, greedy algorithm, breadth first search, depth first search, minimum spanning tree algorithm, single source shortest path algorithm......
If you really want to know about this aspect, you can search for this aspect on the Internet when you have nothing to do, or you can buy a few books to read. I recommend "Introduction to Algorithms" (a very classic one)
高洛峰2017-04-17 13:58:34
As mentioned above, some companies like to interview data structures and algorithms during interviews. . Hahahaha, then I'm sorry, the game rules they set may not be suitable for you, if you have not prepared these questions before, or if you have not graduated from a computer science department.
You can try to go to some product-oriented companies. Of course, you must have the ability to "do", including basic UI, network foundation, and local caching technology. I think if you have no problems with these things, working on a client code is not a big problem. Of course, because you also said that your salary will be lower for 4 months, but if you are strong enough, some companies are still short of people to find jobs. What's the problem? . . (As for the salary issue and the degree of being squeezed, in fact, you said that there may not be much difference between 4 months and 8 months, and it may not have changed qualitatively, but this is how capitalists pay wages~)
If you are unlucky and encounter an interviewer who likes to find some stupid algorithm questions to test your IQ. . . You can try a quick test (summarizing question types and methods). The quick test of algorithms is just a stepping stone, which is not interesting. . If you have time and interest, you can study hard. . After all, it is internal strength, so it comes down to personal preference.
There are many computer fields, and becoming an expert in each field requires investing a lot of time in exchange for experience. . To build a front-end, you must first build the front-end. . Know what your goals are. . Don't go astray. .
ringa_lee2017-04-17 13:58:34
Hello, I am also a newbie and am learning iOS development. Can we get to know each other and exchange questions
PHP中文网2017-04-17 13:58:34
My personal opinion on algorithms is that most people, including some experts, are not proficient in algorithms.
Some people who are very proficient in college almost forget about it after working because they basically don’t use it. There are already excellent and stable things out there, so why write it yourself? What you have optimized over the years is definitely much better than what you wrote.
Just understand the algorithm, just understand the queue and hash. Or tutorials and books say, first in, first out, XX is a queue, which has a great impact on understanding the problem.
As for various sorting, search, and traversal algorithms, there is no need to go into details.
In fact, recruitment has been changing. For example, CET4 certification is no longer so important (which does not mean that English is not important). I don’t see algorithm requirements in many companies’ recruitment information (but BAT, Microsoft, etc. still use algorithms to brush people, But it’s just recruiting on campus).
黄舟2017-04-17 13:58:34
How should I put it? Based on my many years of work experience, interviews are a matter of 30% dependence on people and 70% dependence on God. It is easy to find things related to iOS knowledge, but work experience cannot be increased instantly. Every company, every team, every project, and every interviewer has different requirements for job applicants. It even has something to do with the timing of your interview and your appearance (serious face).
So, when it comes to job hunting, 1. Improve yourself; 2. Lower your requirements; 3. Submit more resumes and interview more. People can be stupid, but they must be sweet.