Home
>
西宁越秀oa
>
西宁oa排名
西宁oa排名

time:2020-09-22 08:44:03

author:重庆佰鼎科技有限公司

【Font size: big medium smail

本文由重庆佰鼎科技有限公司提供,重点介绍了oa排名相关内容。重庆佰鼎科技有限公司专业提供越秀oa,oa 合同,oa系统品牌等多项产品服务。公司的产品服务被广泛应用于其专属行业,市场覆盖率高,售后保障良好,质量高,价格低。

oa排名2020年4月更新:

跳槽告一段落,开启新的旅程。不用再爆肝刷题了,但还会做周赛保持手感。

作为留学生为了找工作,16年开始使用Leetcode刷题。四年来刷题过千,经历过求职和跳槽各种面试,也曾当过面试官面试别人,有一些心得体会可以分享。

刷题进度:

2020年初 刷题进度刷题前的背景:

大陆本科,美国硕士。两个阶段的专业都是电子工程(EE)。在学校上过的跟刷题相关的课程:C++程序设计,数据结构与算法,算法设计与分析,离散数学。用过的语言有C++,Java。觉得C++更顺手,于是选用了C++刷题。刷题相关的网站&资料&工具:

首先是Leetcode官网了。我用的是国际版 leetcode.com,并且开了会员。国内版leetcode-cn和国际站内容(题库,周赛)基本一致。也有不同的地方,比如国内版新增了《剑指Offer》和《Cracking the Coding Interview》的内容,也有独立举行比赛等活动,做了很多本地化的事情。国内版周边商城产品更丰富一些,国际版就只有T-shirt,钥匙链,圆珠笔。国际版Discuss版面更活跃,大神们的题解写的很详细易懂,也有很多脑洞大开的解法。此外回帖的答复也很及时。和其他一些答主不同的是,我在网页编辑器里直接码,没有使用IDE或专业的文本编辑器。优点:更贴近白板面试场景,不需要搭建测试和运行框架。缺点:没有代码补全(影响不大,刷的多了以后API都记住了),只能通过打印信息来调试,对肉眼debug能力有锻炼(不一定是个缺点啦,被逼着总结了一些常用算法模板,我现在bug也挺少的,出错也能很快定位)。两个查STL API和库函数的网站 Reference - C++ Reference (更新的略慢,c++17的一些特性查不到),cppreference.com(推荐)。刷题多了,常用api就记熟了,后来就很少查这两个网站了。纸和笔✏️:想不明白的时候在纸上写写画画,帮助思考。特别是图论的题目,拿最简单的test case画出来就能帮助思考,效果拔群。手机 :倒计时功能提示时间,时间到了之后如果没有思路,或WA,或TLE,就到Discuss讨论区取经,我一般只会尝试思考10-20分钟。20分钟足够把解题相关的知识和技巧拿出来枚举一遍了,还想不到方案多半是因为有的知识你不知道。所以快去看答案吧。我的刷题经历大概有下面几个阶段:

第一阶段,16年夏天,刷题分了三个小阶段,顺序是easy >> medium >> hard,题目范围是题目编号前300道里的算法题,刷完用了两个月。

easy部分,熟悉了cpp的语法以及STL的用法(经常遇到记不住function名字的情况,我会查阅 Reference - C++ Reference 这个网站)。这部分题目基本能独立写出来。medium部分,重温了基础的数据结构和算法,重点总结了各种常见数据结构和算法。hard部分,很多题没有思路,需要看Discuss。刷题节奏大概是easy阶段每天12道,medium阶段一天能做8道,hard阶段随缘2~4道。(早八点到下午六点,中间只有吃饭没别的活动了,晚上跟着ucb的cs61b学学java)每道题AC后,会检查运行时间。慢的话就去discuss上学习大神们的解法思路,然后自己写一遍提交。查看discuss的情况还包括:自己的代码写的很繁杂,逻辑不清晰,自己又理不顺时;题目的tag里提示有别的解法时;想了半小时以上没思路的时候。点评一下,这个刷题顺序的缺点是,没有按类别刷,难以发现同类题目的套路。因为只有发现共性之后,才能总结出套路和模板,有了模板之后才能刷题如砍瓜切菜。可惜我后来按照Tag又刷一遍之后才意识到这个问题。所以建议优先按题目tag刷题。

第二阶段,17年春夏,按题目Tag(bfs, dfs, dp ...)把做过的题(前300题)再做一遍并总结,每个类别写了点笔记。这一遍总结了很多常用的算法模板和套路,基本烂熟于心。对于每个Tag,也是按easy>>medium>>hard的顺序过的。这一阶段感受到水平显著提高:oa排名

思路和代码变得更简洁:大部分题目代码量控制在50行以内。能够bug free且快速地写出常用的代码块(比如union find,dfs/bfs几个变种, binary search, partition 等等)。熟练掌握的模板和套路使我能够bug free的解决medium题目。(对于面FB这类面试题目不难但很重视bug free的公司比较重要)得益于上面一条,medium类型解题时间缩短。掌握了各种数据结构的时空复杂度和实现的难易程度。能够选用更简单的数据结构,使得运行时间更快。时间复杂度相同的时候,能够选用更简单的数据结构,化繁为简。能用vector坚决不用unordered_map。插播一些刷题相关的小tips:

和一些朋友讨论刷题策略,我们的共识是精刷是很有必要的。300题刷2遍吃透要好过600题只刷一遍。关于刷题的强度。一天一道题这种节奏很难坚持下来,也很难总结出套路和模板。有条件的一定要集中时间刷。有人可能会疑惑,我的进步是因为见过类似的题,而不是因为分析问题的水平提高了。我的回答是,见多识广也是能力,熟练套路不等于生搬硬套,能快速识别出题目套路并解决已经不错,活用知识甚至发明算法则需要更深入的理解。第三阶段,18年找到了一家小公司的软件工程师的工作,入职后发现不太满意但也无力改变,于是打定主意跳槽。18年秋季开始至19年中,每周参与leetcode contest,保持手感。虽然已经工作,但仍然刷题的原因。一是做为程序员,以后难免还会参加面试,只要面试就会考coding;二是从面经题来看算法题难度在上升,需要不断学习否则会落伍;三是跳槽的需求。

18年秋到19年初,周赛只能过三道题(hard题要么没思路要么TLE)。赛后写篇笔记,分析一下遇到的问题。这阶段应该不能算是刷题了(我理解的刷题是短时间内做很多题)。不过一年contest做满的话也有200多道题了。19年初在洛谷练习场做了几个专题,DP,图论,线段树。参加了google code jam,Round 2被刷。买了几本算法竞赛的书,看了些基础内容。这些支线剧情对leetcode刷题帮助有限,如果你发现可以用oi或者acm的高级算法解面试题,那么多半是你想多了。当然面试官会对你印象深刻,但他可能并不能听懂你的高级算法或数据结构,并要求你解释到他听懂为止。实际上,他只是希望你能用常规的办法做出来。这里我想说的是:如果你本来就没搞过算法竞赛,就不要去学这些,耗费很多时间但收益有限。如果你是竞赛大神,你可以先抛出一个你和面试官都理解的常规解法,时间充裕的话,可以再提出你觉得更牛的解法。以线段树为例,LeetCode虽然有线段树的题目,但是一般有更基础,且复杂度相当的解法。又比如Campus Bike这个题,可以用Hungarian 算法,也可以用DP,面试中能答出DP就已经稳了。第四阶段,19年下半年集中刷题准备跳槽,同时投简历约面试。

这个阶段主要刷公司tag的题目和面经。刷题强度很大,特别是面试前一个月,每天10+道medium/hard题。contest结束就看discuss,跟朋友讨论,问题不会留到第二天。大部分情况下能做完4道题,进入global前300。除了刷leetcode,没那么忙的时候学习了《算法导论》的图论章节和字符串匹配章节。《算导》的图遍历讲的不错,图的遍历是很多图算法的基础,但是我之前掌握的不好。不过面试很少考察图论和字符串匹配的,看这些只是出于兴趣。刷了这么多题目,面试也并非一帆风顺,毕竟算法只是面试的一部分。挂了几家公司后,终于在2020年初收获offer。2019年的刷题分布图Q&A oa排名

为什么我建议参加LeetCode Contest?

leetcode 每周有一次周赛,每两周有一次双周赛。都是90分钟4道题目,一般一道easy,两道medium,一道hard,(和题库里的easy,medium,hard分类一样)每道题根据难度不同设置不同分值。比赛有实时排名,根据分值和时间计算排名,每个错误提交会导致5分钟罚时。我觉得周赛是有积极意义的,但是也不是一定要参加。如果你的目标公司题目不难那就没有必要参加。如果你是刚开始学习算法就参加比赛,很容易被大神们虐出挫败感,我觉得当你对medium有点自信之后可以开始参加(有希望能解出2-3题)。周赛的积极意义:1. 检验自己的刷题水平有没有进步。2.计时场景模拟面试的压力环境,包括压力下解题,debug。3. 赚取LeetCoin。4. 周赛中的题目都是会进入题库的,有些周赛题目将来会变为会员可见,换言之,参加周赛可以免费做新题。5. 赛后可以看到所有参赛选手的提交,包括排名第一页大佬们的题解,也可以作为一种学习的材料。6.周赛有时会出现最近的面经题目,极度幸运的话,你可以在面试里遇到刚做过的周赛题。参加周赛需要注意的:1. 如果赶时间让排名好看一点,这样写出的解,通常不是最优的(easy,medium 题目较为常见)。而面试中可能会深挖,甚至要回答多个follow up。所以比赛结束后最好也要再想一想,看看discuss。 2. 排名的起伏说明不了什么问题,global ranking曲线九曲十八弯也是正常,长期坚持参加就会看到效果。刷LeetCode就能应付面试了吗,还需要做什么?

OJ (online judge,在线评测)平台千千万,不是只有LeetCode一家。不过LeetCode是比较早做面试相关,而且做得不错的。leetcode上的题是面试中出现过的真题。大部分人刷leetcode的目的是为了在面试(无论是OA还是电面还是onsite)的算法环节成功。但是实际的面试场景要比网页上做题复杂的多。通过leetcode训练可以提高解题的硬实力,但还有一些软的方面(交流,沟通,开发习惯)leetcode环境无法模拟:1)和面试官讨论清楚题意,输入输出,corner case;2)把思路完整展现给面试官,实现前把算法讲明白,复杂度分析;3)尽量bug-free的实现算法,尽量的易读,呈现好的代码风格;4)展现出好的开发习惯,如设计合理的testcase,在白板上手工测试;5)follow up 问题的交流讨论。 因此,只靠leetcode准备算法面试是不够的,找有经验的人帮你模拟面试能够让你发现不足。此外别人的面经和自己的亲身经历也十分重要,特别对于找第一份工作的毕业生来说,多看面经多面试总没有错。面试也不是只有coding,也有behavior question,系统设计甚至专业领域知识等等。系统设计更难准备。推荐一些好用的学习资料?

LeetCode Explore, 讲解知识+题目练习,适合入门。b站up花花酱的视频,如 千题时代后该如何刷题 。b站up土妹编程的视频,如刷leetcode很吃力怎么办。youtuber Errichto的视频 Errichto‘s Channel ,Errichto是算法竞赛高手,他也有关于leetcode的分享。 祝大家拿到满意的Offer!

Reprint please indicate:http://caof.cnsoftweb.com/OA-6069.html