㈠ 牛客网刷题ACM模式 Objc Swift
之前做算法题都是输入输出都确定了
到牛客网这个ACM 感觉很迷茫
用Swift 搞定了输入出处 但是 retrun a + b 这种简单的加法都超时 只能放弃了(Leetcode 做的算法题 都是用的Swift 之前是Java 支持之后 就一直用Swift了)。如果将来牛客网优化了,还是会用Swift
while 能接收多组数据
这里好多OC语法不能用 用就超时了
想到 OC 是C的超集 可以用C语言
好久没用C了,这里简单记录下C的基本语法,够做题的
这里记录下
㈡ cv算法劝退吗
作者丨记忆的迷谷@知乎(已授权)
来源丨https://zhuanlan.hu.com/p/576729164
编辑丨极市平台
写在前面
是的,今年的秋招确实是肉眼可见的难度增加:缩招、裁员、毕业生人数爆炸,这些关键字已然成为2023届秋招的代名词。竞争激烈,算法岗入坑的难度更是直线上升。卡第一学历、卡名校、卡重点实验室......这些“基本操作”早已司空见惯。
在卷成麻花的2022年,一个没有上述背景、没有名校撑腰的普通科班小硕能入坑中大厂的CV算法岗吗?
我的回答是:能,但是很难、很卷,且容错率较低。因为CV算法岗的竞争对手基本都在985分段,且动不动就是某C9高校的重点实验室。
因为身边的人不走算法岗,所以全程基本靠自己摸索,期间遇到了各种困难、走了许多弯路。为了记录这段有意义的经历,同时给纯昌自己一样出身普通的师弟们(实验室没有师妹)提供CV算法岗的就业思路,将本人的整个秋招的真实历程分享给大家。【长文警告↓↓↓】
导读:
本篇文章主要分为以下几个章节:
【背景】,【历程】主要介绍了本人秋招前的状态,以及从研究生入学到秋招的过程。
【需要掌握的技能】从硬实力、软实力两个方面介绍秋招时可以增加自己竞争力的点。由于每个人的基础情况不同,CV算法岗也有较多细分方向,本章节仅供参考,大佬请直接略过。
【总结】秋招的一些小的建议。
补充说明: 1. 阅读文章之前,请务必了解“幸存者偏差”这一概念,CV算法岗的秋招形式严峻,请保持理智。 2. 本文的“普通”一词是指本科双非、硕士非985、非重点实验室、无顶会、投递岗位为CV算法岗的计算机科班应届研究生,并无冒犯之意。
背景概述:
本人本科双非软件工程专业,硕士普通211的计算机技术专业,目前研究方向是计算机视觉。
秋招拿到【虹软、vivo、OPPO三家offer,均为计算机视觉类(CV)算法岗,有SP也有大白菜】(除去国企银行),和大佬们的offer没得比,但感觉基本接近自己的预期。(虽然已于9月获得虹软转正意向书,为了给自己的秋招不留遗憾,同时可以通过不同的offer明确自己在秋招大军的整体定位,所以坚持完整参与了秋招)。
具体情况:
身边的环境
除了我的大大大师兄(高我三四届)拿了某中厂算法offer以外,我们实验室就再也没有人走过算法岗。包括同门在内的同届同学,弯塌也基本都是开发。师兄和同学也都劝退我走算法,改开发。
在我找到第一份算法实习之前,大部分人都认为我选择这条路是一个头铁且愚蠢的行为,且常听到阴阳怪气的言论。
每次刷知乎,总能看到“19年算法岗供大于求”、“20年算法岗诸神黄昏”、“21年算法岗灰飞烟灭”,今年又换了个四字词语 --“人间炼狱”。各路“过来人”也都是全方位劝退。
打开网易新闻 查看精彩图片
好在自己的家人比较支持我自己做决定,只不过最后选择offer的时候,家人们曾劝我躺平一个随手拿的国企,放弃自己的专业,我要真想躺平还用的着这么卷么,大无语。
总之,身边自始至终支持我走算法岗的,四舍五入就只剩自己了。没关系,意料之中罢了。
自己拥有的一些条件
导师不会push我们给他发论文,且只要完成规定的任务,就允许我们自己出去找实习。【秋招上岸的关键性因素】
实验室有免费使用的入门级计算资源,虽然只是1080Ti这种级别的显卡,且当时还要和师兄一起用。但是拿来学习跑跑实验还是绰绰有余的。同时家里赞助更新了一台2060GPU的笔记本,用来本地调试也挺好使。
学校的线下课程在研一期间全部上完,研一课程结束就可以做实习早鸟。
历程
本节按照时间线的顺序,叙述了本人历时两年的秋招战线。
【初识算法】2020年9月~2020年10月
结束摆烂、确定方向阶段。研究生入学,之前联系的导师莫名其妙把我鸽 了,不得不重新找导师。
我的选择标准有两个:一是教授,二是允许实习。在本科国奖托底和自己死皮赖脸的坚持下,我现在的导师给加了一个名额,顺利入组。
导师给我明确了CV的研究方向,同时分享了一些资料(因为才学疏浅,当时没能看懂,后面就跑去B站知乎学习了),每周组会汇报自己的学习进度。也是这个时候发现自己对CV挺感兴趣的,也是初生牛犊不怕虎,确定自己走算法岗的方向。
【走出迷茫】2020年11月~2021年2月
夯实基础阶段。因为导师安排的任务主要偏学术,我也意识到:如果仅仅靠导师的指导、按部就班的学习就去找算法岗工作,是远远不够的。埋裤圆于是,自己找到了一位前辈指点自己系统地入门深度学习。之后制定学习计划、学习基础铺垫知识、筛选和阅读paper、debug源码、参照已开源的工作来复现未开源的论文......在完成导师布置的任务之余,花了大量时间,算是搞明白深度学习的路子了。在此期间,完成导师安排的项目、自己找一些开源的项目补充学习,可以加深自己的理解同时还能润色简历。
打开网易新闻 查看精彩图片
当时的部分学习计划(分类&检测篇)
因为搞算法除了python的基本要求外,C++多少也要会一些。也是从这个时候,制定了刷力扣的长期计划,强迫自己学习C++,编程题也全部用C++写。刷题不求多,但重在把思维和语法熟练度锻炼好。
【稳扎稳打】2021年3月~2021年5月
备战实习阶段。过年给自己放了半个月假,开始着手找第一段实习。听了师兄的建议(当时师兄在鹅厂实习搞开发,respect),开始刷牛客面经,查漏补缺,力扣保证一周刷七题。
同时系统地整理之前学习的笔记,也是这个时候我写了知乎的第一篇博客,并立下了一年写完50篇技术博客的flag(已于2022年4月达成)。
【初露锋芒】2021年5月~2021年6月
第一段实习的投递、面试阶段。第一次投实习没有经验,先投了一些难度拉满的大厂:商汤、字节都给了面试,但是面得稀烂,商汤的面试官更是在无coding题的情况下问了我两个小时的问题,面试结束后当场自闭。
后来总结了面试失败的经验,也补上了自己面试中没有答出来的知识点。现在想想,当时的我真的是愚蠢至极,就应该先面小厂,积累面试经验,起码不至于面试过后脏了自己的大厂面评(因为秋招的时候,这两家秒挂我的简历,应该是自己作没的 )。
经历了十多场面试,也积累了足够的经验,最终自己如愿拿到了vivo AI研究院的算法岗实习offer。
打开网易新闻 查看精彩图片
【渐入佳境】2021年7月~2022年1月
第一段实习。在我的软磨硬泡下,导师先是同意我出去实习半年(美滋滋)。
入职以后,令人窒息的压力接憧而至:老大给我的研究方向是神经网络结构搜索(NAS)方向 -- 一个自己从来没听说过的预研方向,与此同时,同组的实习生来自武大,还比我早来一个月,需要尽快跟进她的进度。于是,自己白天调研相关工作、复现一些论文、慢慢接手项目,晚上加班读源码、刷博客(卷到了旁边的实习生,实在抱歉)。第一个月顶着压力,总算把进度拉上来,项目步入正轨。
9月,恰好看到Kaggle有个CV新赛,恰好这时候蓝厂取消大小周,于是就报名参加了。之后差不多两个月的时间,白天赶项目,晚上和周末搞比赛。
11月,项目需要优化的模型计算量首次降低到100M以下,同时比赛也拿到了铜牌(第一次参赛,拉胯的成绩,但尽力了)。
后面的时间就是边实习边准备开题,顺利完成了实习阶段的任务,拿到了口头转正(可惜AI研究院今年不招人,靠自己重新走流程拿的影像算法部,权衡了一下,还是想待在自己熟悉且喜欢的组),与nice的同事们告别。
【一波三折】2022年2月~2022年5月
向导师争取了第二次实习的机会,开始着手准备暑期实习,同时和之前实习的武大同学合作一篇论文。但没高兴多久,上海的疫情就爆发了,几乎整个上海的实习HC都没了,与此同时学校疫情封楼,天天牢饭吃到心态爆炸,差点想转开发(庆幸自己没转)。
虽然有了一段大厂实习经历,但找第二段实习甚至更艰难:收到一堆海笔,只收到了三家面试(某周的周一面了美团,面试官很nice,面试也顺利,他还表达了希望我面试通过后早点过去实习,结果周五反手收到个感谢信☺)。磕磕绊绊拿到了第二份offer -- 虹软的计算机视觉算法岗实习。
打开网易新闻 查看精彩图片
【稳中求胜】2022年5月~2022年9月初
第二段实习。这次研究方向是视线检测,因为在蓝厂的实习积累了许多项目经验,所以无论是搭环境还是上手项目都很快。
我们组所有的实习生每周都会单独开个周会,可以了解大家的进展,同时还能偷学一些技巧,因此在这边自己成长的速度很快。和我搭档的实习生是天大的,我俩都做视线方向,经常一起讨论项目中遇到的难点,如我mentor所说,1+1 > 2,无论是实习还是秋招,找个伴共同进步总好过孤军奋战。
7月~9月初,工作时间肝项目,下班以后的空闲时间刷题、刷面经,准备转正答辩,投提前批(算法提前批卡学校,基本全泡池子),投秋招,基本每天搞到11点才休息(转正名额有限,不敢做赌狗)。
8月底顺利通过转正答辩,9月初拿到了虹软为数不多的转正意向书。
【冲刺终点】2022年9月~2022年10月
收获的季节。实习结束,导师召回返校,一边做导师安排的工作一边搞秋招。
总共笔试了二三十家公司,面了六七家(因为不是985、研究方向有差异,也被拒了蛮多)。最后到手虹绿蓝三家offer,于十月中旬尘埃落定。平时经常做RGB图像算法,没想到拿的offer也刚好涵盖RGB三种颜色 ,或许这就是缘分吧。
需要掌握的技能 硬实力篇
1.基础知识
入坑算法岗的基本功。推荐李航老师的《统计学习方法》以及周志华老师的西瓜书。入门深度学习推荐斯坦福《CS231N》课程(在B站上可以找到中文字幕版)。不太推荐一上来啃《深度学习》(花书),对小白不友好,但是后期可以当工具书使用。
确定了自己的研究 / 学习的方向后,可以在各类博客上找到对应方向大牛整理的paper list,选取一些经典必看的论文,并在Github中找到对应的源码阅读【一定要看源码,一定要看源码,一定要看源码】,面试的时候,资深的面试官经常会问一些细节问题,而只有你理解了源码是怎么实现的前提下,应对这些问题才能游刃有余。在学习时,要及时总结和整理,将论文里的知识精炼成自己笔记的过程,其实就相当于模拟回答面试官问题的过程。整理的东西多了,就变成的所谓的“八股文”,相较于开发,算法的面经更灵活,面试的问题也因人而异,一份属于自己的“八股”很重要,同时它也是实习和秋招面试前最有价值的复习资料。
2.实习
如果导师允许的话,【一定要尽早出去实习,一定要尽早出去实习,一定要尽早出去实习】。实习经历越丰富、实习公司的层次越高、实习的时间越久,你的竞争力越强。曾经有HR和我说过,CV算法岗的普通分段同学很少能进流程,如果没有实习经历,自己大概率会被淘汰。
PS:实验室不给实习的同学,也不要灰心,实习不是入职算法岗的必要条件,但是如果你但凡有机会实习,一定要好好把握。
3.项目
冷知识:在简历和面试中把自己的论文以项目的形式描述,面试官会更感兴趣。
“如果你发表的不是顶会,那么我更希望你用项目的形式叙述你的作品。”这是面试时一位面试官的原话。所以在这里,我把自己的论文归类为项目,且当我把论文以项目的形式更新到简历中,后面的面试会问到这部分工作的频率明显增加。
很多人觉得自己的项目可能不是那么出彩,觉得拿不出手。在这里完全可以打消这个顾虑,我们投的又不是天才少年计划,所以只要能把自己的项目讲明白,言之有理,都可以作为一个加分项。在面试前,一定要梳理好自己的项目,例如解决的问题、应用场景、创新点、难点、数据是怎么处理的、badcase是怎么优化的、后面还能改进的地方......讲项目的时候一定要自信、有条理,建议面试前可以多试讲几次录个音。
4.比赛
打比赛有两种策略:
第一种策略:运气好,碰到了自己熟悉方向的比赛,在比赛中尽可能刷高自己的名次。
第二种策略:只有自己感到陌生的方向(不过也是CV类比赛),用最快的时间上手该方向,然后尽可能深入,争
㈢ 刷LeetCode对于国内IT企业面试帮助大吗
就目前的情况来看,国内公司社招面试中,对于对于算法的考验越来越多,很多公司会拿leet code的原题用于面试。
根据我的了解,目前国内的中型厂记下的基本上不会考验算法题不会哪一道编程题,让你手写指示会咨询你一些项目经验,包括一些基础的数据库类的知识,或者是编程基础类知识,比如说你用Java开发怎么会问你spring cloud的spring boot相关知识,还有一些可能会问你高并发,生产问题处理,linux服务器命令等等,手撕红黑树的情况不多。
对于国内的这些外资企业微软、虾皮等等,可能会问一些算法题,但一般都不会特别难。数据结构问链表二叉树,算法问动态规划之类的吧,也是min和easy难度。
对于头部的大厂可能会出一些hard级别的算法题,或者是改编过的编程题。目前程序员的人数越来越多,所以未来可能会有更多的公司会通过手撕编程题的方式进行面试。
对于校招来说说来的时候呢,是非常有帮助的,听不起。各大公司的面试题中都会有算法题,所以必须要通过刷leetcode来提升自己的。有可能你会遇到一些原题。
不管怎么样说算法题都是很有帮助的,有助于提升编码能力和逻辑能力,可以让你的编码能力一直保持一个不错的水平,因为很多人平时都是curd小子,很多基础知识都忘记了包括算法能力。
leetcode上题很多,逐渐你会发现刷题太耗时间,所以建议采用哈夫曼树规则。高频题优先,各个tag刷10题以上掌握典型题总结算法套路,先把触手放在能掌握的地方。然后再去重点刷贪心和dp,分类好思路和模板。再去牛客搜公司名刷一些该公司面试题,有个底不至于面试没见过。建议medium为主,easy和hard为辅。
一零言,聊聊IT,谈谈技术
㈣ 有什么适合大一计算机专业学生免费的刷题网站
既然大一的同学选择计算机专业,当然少不了刷题啦!但是有很多刷题网站是免费的,同学们想知道吗?下面由我来讲讲吧。
这个网站收录了很多知名互联网公司出的算法题目,相信大一同学很熟悉了,很多同学都在这里刷题,增强对计算机基础知识掌握。它支持多种编程语言,如:Java、Ptthon、Ruby等。最常做的是算法题,目前有一千多道的题目。有专门的图文和视频讲解,方便同学们茶楼补缺。也可以在个人界面查看进展,看自己的学习情况。如果出来工作笔试中,面试官会从这里抽题。刷题过程中全部会了,那么工作没有什么大问题。
以上我列举了三个计算机免费刷题的网站,同学们看到我写的推荐后,来收藏夹吃灰~希望同学们有时间使用这三个网站学习计算机相关知识,提高计算机专业能力,祝你们学有所成!
㈤ 面试最常考的 100 道算法题分类整理
大家好,我是 “负雪明早冲烛” ,一位用 7 年写槐毁了 1000 篇 LeetCode 算法题题解的程序员。欢迎关注。
粉丝常说: LeetCode 算法题太多了,准备面试该刷哪些题目 ?
我之前根据 LeetCode 上面的点赞量分享过: LeetCode 上最经典的 100 道算法题 。
这 100 道题目都属于经典题目了,面试也常考,不过我还是不放心呢,毕竟 经典题 ≠ 面试题 呀!
但如果想知道面试常考的 100 道算法题的话,需要至少整理 1000 篇面经吧?这个工作量可不小啊!
还好,网上有个开源项目,帮我们做了这件事情,这个项目就是 CodeTop !
这是网站的界面(地址: https://codetop.cc/home ),展示的就是每个面试题目出现的频度情况,甚至区分了公司和岗位:
这是开源项目的 GitHub 主页,已经 11.5k star ⭐️ 了:
这个项目中的题目来源是牛客网的面经、网友投票等,而且持续更新中,所以还是比较可靠的。
我对这个项目做了陆明歼整理,分类整理出来面试常考的 100 道算法题。
在整理之后,我对结果还是有点 惊讶 的!因为一些常见的数据结构与算法,竟然没有在常考面试中出现过!
比如前缀和、前缀树、并查集、图,这些都没有出现……
最常考面试题还是很基本的链表、二叉树、动态规划等等,是不是符合你的认知呢?
强烈建议大家在面试前把这 100 道题目搞懂!
作为宠粉达人,我提供了 3 种方式查看这 100 道题目:
没有任何套路,直接分享给大家!
在线查看地址: https://www.mubucm.com/doc/7jiBYKCKqet
在线查看地址: https://leetcode-cn.com/problem-list/q3iOID0B/
所有题目的地址如下:
前序遍历
中序遍历
层序遍历
视图
如果你觉得对你有帮助的话,求赞、求分享、求收藏。你的每一点鼓励都是对我的最大帮助!
㈥ 非计算机专业考华为od算法题难不难
华为od算法题难度中下,更倾向于考验临场发挥能力。
华为OD的面试首先会有一轮机考,机考是在牛客网上做编程题。总共三道题,据说是一道简单两道中等,总分400分,150分以上就算通过。
OD的机考难度不算特别高,如果经常刷牛客和力扣上的题的话,至少及格肯定是没问题的。考题的偏好的话,基于自己做的和参考其他的OD考试帖子,感觉比较喜欢考数组和字符串的问题,大家刷题可以着重注意一下这种类型的题!
㈦ 华为会上牛客网上招聘是真的吗
华为会上牛客网上招聘是真的。机试就在牛客网上做,牛客网有一个华为的题库,可以提前去做做。我的建议是做一下前面的十几题熟悉一下输入输出就好了。题目的话其实我不太记得了,重点是字符串,我考了两题字符串,要熟悉字符串的基本操作。然后第三题就是一题比较普通的DFS,可以去LeetCode把各种常见的算法都稍微了解一下,做一两道例题,通过应该不难的。华橘早为正式招聘的要求是一样的,可以网络一下,当时在桐伍脊知乎看到一个回答,大概了解一下华为喜欢哪些性格就好。最重要的还是不要前后矛盾。所以局渗,华为会上牛客网上招聘是真的。
㈧ 牛客网刷算法总结
容器:vector map set list
算法:回溯法(dfs),分支界限法(bfs),贪心算法,分治法,动态规划
容器排序API:sort reverse find count
字符串操作API:find rfind find_first_of find_last_of find_first_not_of find_last_not_of
其他:查表法,快排,深度优先搜索dfs,广度有限搜索bfs
1、getline 最后需要判空,如果是输入一个,请用cin
2、str.append(8-str.size(),'0') ,后面增加几个‘0’
3、str.substr(0,8) 0开始截取8个,str.substr(8)8开始截取剩余
4、'a'比'A'大32
5、math.h sqrt 开方
6、int(a+0.5)
7、iimap[key] += value map->first << " " << map->second
8、num=num*10+n%10
9、set不重复数组
10、>> 位移
11、emplace_back()相比push_back()少调用一次拷贝构造函数
12、instr.rfind('\\')
13、带路径文件名称,行号,以空格隔开 可以这样cin >> instr && cin >> row
14、合唱队,动态规划
15、兄弟单词,一起排一次序,比较相等
16、素数伴侣,男女配对,匈牙利算法(二部图,交错路径,增广路径)
17、加解密用查表法
18、兔子算法,a+b+c
19、数组也可以用sort排序,如sort(nums,nums+26)
20、nodes.erase(iter)删除这个位置的数据
21、计算字符串距离用动态规划
22、插入排序一定要back
23、vector<vector<int>> c1(x,vector<int>(y,0));
24、#include<bits/stdc++.h>
25、str.erase(str.begin()+i1, str.begin()+i2+1); str.insert(str.begin()+i1, 'A'+c.size()-1);
26、润年( (year%4==0&&year%100!=0)||year%400==0)
27、尼科彻斯定理 数学公式直接可以推出来首项是m*m+1-m,有m项
28、find rfind 可以查找子串,find_first_of find_last_of find_first_not_of find_last_not_of 则不能
29、int index = str1.find(str);
㈨ 华为牛客网的笔试难吗
不难。只要上学的时候认真学习,编码能力扎实,即使没刷过LeetCode没特地学过算法也一样能做出来,华为牛客网的笔试不难。牛客网明颂是互联网求职神器,C++、Java、前端、喊孙产激渗郑品、运营技能学习、备考、求职题库。
㈩ 面试遇到算法题怎么办,都不会
科班出身还是半路出家?半路出家就选别这类岗位。
计算机科学专业的基础,外加算法竞赛相关的培训和实战,不算基础,培训过程也至少要耗去一两年,所以要算能不能和值不值。真正需要算法能力高超的岗位薪水好,但是,少之又少,竞争惨烈,985本专业毕业生能抢上的都属于凤毛麟角。