其实一般来说倒不是指望都会,但是问出个你熟的方面肯定会往下一直问的。
点赞 评论

相关推荐

        时间过得真快,前一秒好像好像还刚收到入学通知书,现在我已经是一名准硕士毕业生了。        还记得刚来到哈工大那一天,我的家乡重庆正在经历百年一见的极端高温,从45度的重庆来到24度的哈尔滨,彼时的工大真可谓我的天堂。在工大读研期间,我布局找工作可以说算是比较早吧。相当一部分原因是对应试教育的厌恶,说得难听点儿就是考研不理想,觉得自己不是做题家那块料。所以很早就想清楚了不读博,要上班。研一上我幸运地结识了实验室的一位师兄,他有着丰富的工程经验和专业知识,在实验室的求职笔试与面试经历,当时都被我看在眼里,我也迅速和他建立了比较熟络的兄长关系。有了他,我迅速了解了实验室的日常作息和导师行为习惯,对于平衡自己的未来规划和实验室项目工作有了一个初步的认知。师兄为我推荐了各种嵌入式学习的网站、公众号等渠道,于是,在研一下课之余,我便经常去到实验室学习嵌入式相关的网络课程并跟着实操,同时学着一本《视觉slam十四讲》——这是一个小插曲,因为我本科是自动化,考研被调剂到微电子,因此刚入学的时候还有过找自驾相关工作的想法。回想研一上那一学期,可以说是我整个研究生阶段学习知识最投入的时期,Linux系统的操作、内核、驱动与文件系统的概念、源代码的阅读等等,在当时为我打开了嵌入式的大门,虽然不是科班,这一学期的紧急充电,还是相当程度上让我入了这行的基本门道,也为日后选择嵌入式岗位的工作做出了心理建设。       研一下,可以说是把上学期学的知识应用于实战,同时为丰富工作简历做出初步准备的一学期。彼时我的那位师兄已经通过集创赛的经历拿到了大疆的offer,实在是令当时的我羡慕不已,同时也充满了焦虑。诸如大疆这样的公司需要非常对口的项目经历和专业技术栈才会考虑应届生。当时的我一穷二白,自动化本科的履历对嵌入式求职的帮助微乎其微。于是我毫不犹豫地报名参加了集创赛,并以队长的身份组织大家开展工作。做比赛的过程,我觉得就是一个不断配环境、解决bug、查csdn和github,想尽一切办法实现预期功能的过程。这学期我甚至去得比上学期还勤,各种未知的问题折磨着我和我的队友,有时候甚至要上全英文的网站去研究csdn上所不能找到的解决办法。过程很艰苦,结果却是令人欣慰的,我们获得了全国二等奖,我的工程能力也在比赛中得到了极大的锻炼。       研二上可以说是迈出找工作的第一步,这学期我开始尝试做简历,投公司寻求笔试面试,并且有意识地去刷代码题目、看八股面经。虽然最后没能收到任何一个offer,但是这段经历让我接触到了最新的就业现况、也敲响了精神上的求职警钟——工作不好找,需早做准备。       于是,在寒假期间,我开始包装简历项目,基于曾经的竞赛经历以及实验室项目,还有部分自己本科的课程设计。虽然这些项目放到现在显得很粗糙,但却开启了我的第一次简历进化,放眼整个整个秋招过程还是很有里程碑意义的~       研二下算是我整个研究生期间,除了研一上之外的第二波行动力小高潮,这学期我一个人拿到了OPPO深圳的实习offer、完成了从0到中期的毕设工作量、发表了一篇SCI论文,几乎每天都是从早忙到晚,实习offer拿到手马上着手论文和中期,最后二者都是临近六月底才收工,然后过了一天就去深圳,一晚上完成找房。这小半年可谓是超级特种兵了~在此我要狠狠地感谢那位师兄,是他一直为我提供各种招聘信息,陪我深夜畅聊,倾听我的就业焦虑,没有他,也许我撑不过如此的高压阶段。      暑期在OPPO的实习,我第一次见识了大厂完善的组织结构和培养体系,OPPO的整体实习氛围很轻松,入职首先会与导师共同制定一个培养计划,分配阶段性任务,然后定期会进行工作进度交流,最后进行转正答辩。实习期间我的工作量算不上太大,主要是学习内核相关的源码,熟悉公司的研发工具与流程,也充分感受了大厂研发岗的工作氛围。我一直觉得实习最重要的有三点,一是争取到转正机会(假设是秋招目标之一),另一个就是熟悉企业的工作流程和氛围,最后就是尽量学到学校所接触不到的专业知识并能将其包装成一段成熟的简历项目。感谢OPPO为我创造了这三个机会,实习期间也为我提供了免费的会议室作为面试间。      下面说说我的求职选择,我按照一直以来的预期投递嵌入式岗位。这里的嵌入式是广义的嵌入式,我把传统制造业硬件涉及的嵌入式认为是狭义的也是最早期的嵌入式,代表公司有家电厂、车企、手机厂和大疆这种高端制造业,随着半导体产业的发展,越来越多的公司开始进行芯片的研发,包括高通、联发科等芯片原厂和阿里平头哥、字节PICO和腾讯芯片部门这种传统互联网大厂衍生的硬件芯片业务。现在大家嵌入式求职一般都是以广义的嵌入式作为目标范畴。对于工作地点,我其实没有太具体的要求,可总结为“第一回南方,第二钱够多,第三离家近”。所以秋招投递的岗位主要集中在成都、深圳、上海三个城市(为什么没有重庆,来自重庆的工科同胞应该深有体会。成渝两地的产业定位不同,重庆侧重传统制造业以及新能源车企,成都侧重半导体和电子信息IT,所以成都可以依靠各个IT大厂的硬件芯片业务提供相对高薪的嵌入式岗位,而重庆受制于制造业本身的天花板,加上其制造水平对比深圳诸如大疆、华为等高端制造业又偏低,薪资水平实在一言难尽。重庆人表示希望家乡未来好好发展,诞生深圳大疆一样的高端制造业,回家就业就有希望了)最后的offer决赛圈,其实也是在深圳与成都之间展开,选择大疆的原因很简单,薪资最高,嵌入式的天花板,另一方面我本科是自动化,受到各种耳濡目染,更想往高端制造行业去发展。关于职业道路的选择,我认为没有一个标准的答案,每一种选择有失有得,于我而言,选择大疆意味着要在高薪的同时要承担更大的工作压力,同时深圳地区更快的生活节奏、更高的房价相比成都会让生活少一些松弛;但是如前文所说,深圳和重庆有着相似的产业结构,都是主打制造业(相应的成都与上海有着类似的产业定位),所以日后即使想回重庆工作,第一段工作经历会提供很大的优势;再者,身边也有许多去深圳的老乡,我们普遍觉得深圳的物价水平和生活成本是四大一线当中最低的(可能广州更低,但是广州提供的嵌入式就业岗位不如深圳丰富)所以综合考量,深圳算是一线城市里面最具性价比(如果不买房的话)      写了这么多,都是我的个人求职总结。作为过来人,还是想建议各位即将开始秋招或者准备考虑找工作的学弟学妹们,永远不要想着把你未来的每一步路都计划清楚。计划永远赶不上变化,可以为自己定一个目标,不断地为之努力,如果中途发现实现难度太大,换个赛道也不是不可以。我们的最终目的都是能够过上好的生活,有的人觉得赚钱多可以让自己过得好,有的人觉得闲暇多可以让自己过得好,也有人两样都想要。只要最后的结果对得起自己一路的努力,能够满足当初至少一部分的预期,我觉得在当下的就业环境来说就是成功。我选择嵌入式作为赛道,拿到了行业龙头的offer,去到了比较向往的沿海地区工作,虽然也有离家远、压力大的遗憾,但我并不后悔。同在广东工作的哥哥常跟我说一句话:“家贫走四方,富甲留家乡。”希望通过我的努力,未来能让我的子女享受到后半句话的待遇。      最后祝各位学弟学妹秋招顺利,收获自己想要的生活!
点赞 评论 收藏
分享
字节跳动Data AML部门前端实习一面面经本次面试时长1小时,主要涵盖项目经历、技术原理、基础知识和算法编程等方面,具体内容如下:一、项目经历面试官首先询问了实习项目相关内容,围绕项目背景、技术实现、遇到的问题及解决方案展开交流,考察对实际项目的参与度与理解深度。二、Suspense原理及实现1. 原理:Suspense 是 React 用于处理异步渲染的组件,可在数据加载或组件渲染完成前展示加载指示器,提升用户体验。2. 实现方式:被问到在 useEffect 中存在 fetch 请求时,如何让顶层组件感知组件存在异步请求。回答可通过 React Context 实现信息透传,但存在更优方案,可从 React 的新特性或状态管理库角度进一步优化 。三、JS基础1. var、let和const的区别:var 存在变量提升,会导致变量在声明前可被访问;let 和 const 具有块级作用域,更加安全。2. var逐渐被弃用原因:var 没有块级作用域,在复杂代码中容易引发变量覆盖等意外问题,使用 let 和 const 可避免此类风险,提高代码的可读性和稳定性。四、CSS基础1. 三列瀑布布局(两边固定,中间自适应):纯CSS可通过浮动或绝对定位实现;使用flex布局更优雅,flex: 1 表示该元素会自动分配剩余空间。2. flex常用属性:主要涉及主轴和横轴方向设置,如 flex-direction 定义主轴方向;常用的居中属性包括 justify-content: center(主轴居中)和 align-items: center(交叉轴居中) 。3. CSS动画:通过 animation 属性实现,配合关键帧 @keyframes 定义动画的起始和结束状态、变化函数(如线性变化)以及时间等参数。animation 在渲染进程的合成线程执行,不会阻塞JS执行,效率较高。五、算法编程题1. 合并有序链表// 定义链表节点结构function ListNode(val, next) {    this.val = (val === undefined? 0 : val);    this.next = (next === undefined? null : next);}var mergeTwoLists = function(l1, l2) {    const dummy = new ListNode(0);    let current = dummy;    while (l1 && l2) {        if (l1.val < l2.val) {            current.next = l1;            l1 = l1.next;        } else {            current.next = l2;            l2 = l2.next;        }        current = current.next;    }    current.next = l1 || l2;    return dummy.next;};2. 二叉树寻找公共父节点(节点有parent指针)function lowestCommonAncestor(p, q) {    const set = new Set();    while (p) {        set.add(p);        p = p.parent;    }    while (q) {        if (set.has(q)) {            return q;        }        q = q.parent;    }}3. 实现sum函数curry化   
查看11道真题和解析
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务