对于嵌入式岗位的校园招聘面试,练题非常重要。虽然嵌入式岗位的工作内容和纯算法岗位不一样,但是算法和数据结构是计算机科学的基础,也是嵌入式岗位的基础。面试官在面试中经常会用算法题来考察面试者的编程基础和思维能力。练题的场景一般有两种:
以下是我回答问题的一些技巧和经验:
入门解题可以先看《Offer Sword》,确实不错,牛客网也有相应的在线调试,初学者可以先解决“树”以外的问题(二叉树等),有空再解决树的问题,排序和链表是重中之重。
由易到难,循序渐进
练习题目的时候,我们可以先从简单的题目开始,逐渐增加难度。这样有助于我们逐渐建立信心,提高编程水平。面对难题时,我们也能更加从容地应对。
有目的的练习
练题的时候我们可以有目的性的选题,可以去牛客网看看别人写的面试心得,看看别人都问什么算法题。
参加算法竞赛
参加算法竞赛可以帮助我们更深入地理解算法和数据结构。同时,竞赛也能让我们更熟悉代码编写和调试,提高编程能力。我看到计算机学院的学生从大一、大二就开始参加竞赛,这真的很了不起。
练题的节奏和时间安排需要根据个人情况来定,一般来说每天练一两题就可以了,如果时间充足的话可以适当增加练题时间,一般练完《剑指献策》就练李口,如果能练50-100题就够了。
判断自己答题能力有没有提升,可以看你答题的数量,答题越多就会有质的改变。而且随着答题数量的增加,可以尝试挑战一些难度更大的题目,如果这些难度较大的题目你都能顺利完成,那你的答题能力肯定是有很大提升的。最后就是看你AC达到了多少,以及你代码的效率,包括空间复杂度和时间复杂度,一般答题网站都会帮你分析这个。
牛客进阶系列专栏:嵌入式Android(Android系统开发也必须掌握)