当前位置:首页 > 公众号精选 > 架构师社区
[导读]来自:大数据肌肉猿 个人背景 大一大二都是土木工程专业,看了峰哥的转专业经历后,坚定了转专业的想法。于19年的9月转专业到计算机,开始自学编程。3月份先后拿了趣头条、今日头条的后端实习offer,目前已实习一个月。我尽量用简洁的语言说一些关键性的东西


来自:大数据肌肉猿

个人背景

大一大二都是土木工程专业,看了峰哥的转专业经历后,坚定了转专业的想法。于19年的9月转专业到计算机,开始自学编程。3月份先后拿了趣头条、今日头条的后端实习offer,目前已实习一个月。我尽量用简洁的语言说一些关键性的东西,希望对转行和对学习方向迷茫的小伙伴有一点帮助。

转专业的起因是土木发展前景比较差,又发现自己对编程很感兴趣,在mooc上学了下浙大的数据结构。因为成绩不错,大三开学正式转到计算机专业(其实当时转专业承受的压力还是蛮大的)。

大三上学期同时修大一大二大三上学期的计算机专业课,当时一直想的是想考浙大的研究生的,于是按部就班地去教室上课,但是学着学着我又开始质疑我学这些知识的意义,就像我当初质疑学土木工程的意义一样,还是准备找工作吧。

但是一学期有十多门计算机的课,课业负担还是比较重的,那段时间也还是很努力的,我学习一门课程的思路几乎都是:先搭好知识框架,把重要的知识点找出来并明白它们在整个课程脉络中的地位,然后考前疯狂刷题突击。用这种学习方法我在每门课上花的总时间都不长,以比较短时间学到了大部分核心知识,既以平均80分的成绩通过了期末考试,也在这期间也能腾出一些时间来自学一些我感兴趣(对面试有用的)的技术。



当然啦,很重要的前提就是要求你得有分清主次、规划自己的能力。1月10号放假后正式开始准备春季实习生招聘,从mooc网上找了些课程看,参考了峰哥提供的几个项目,网络 数据库 操作系统跟着面经贴着重学习了下高频考点,面试前一周刷了50道leetcode上的高频题目。


进入三月份开始投递简历,我投递的都是后端实习,第一个面试是趣头条,面完立刻发offer。

一二面各半个小时:
先问这个项目是怎么做的吧,说说 NIO和BIO的区别吧,如果客户端突然断了服务器怎么检测,服务器怎么知道哪几个包是一个请求的。

又聊了聊我 S pring   Boot的项目。

数组和链表的区别,使用场景。

说说 MySQL索引,出了一个建索引的题,给定查询需求,让你确定复合索引的各字段顺序。

你对 redis了解多少

手撕一个最长上升子序列

select和epoll说说

浮点数为什么会有精度问题

数据库三范式

说说操作系统的文件系统


第二个面试的是阿里,一面挂。
20分钟挂。。。
数据结构自学过啊?说说常见的排序算法吧?巴拉巴拉,说说快排吧?
就是每一轮随机选一个随机数把它的放到正确的位置上...
为啥要随机?
如果不随机的话时间复杂度在原数组有序的情况下容易n方
 
图的相关算法学过吗?说说吧
常见的问题有最小生成树问题和最短路径算法,
说说最小生成树问题吧
prime和kruskal算法巴拉巴拉
 
String,StringBuffer,StringBuilder区别
 
说说ThreadLocal和它可能出现的问题
 
JVM了解吗,说说吧。
 
目前在学什么?
实话实说:在刷leetcode题

给你个反馈吧: 觉得你很有冲劲,我看好你,但是还达不到阿里实习生的标准,这次不能给你过,但是会放在简历池子里。
好,谢谢您


第三个面字节跳动,从第一天技术三面,第二天hr面,第三天拿offer。

一面:
面试官:你数学好吗?我说还行吧,那我给你出一个偏数学一点儿的题:实现一个shuffle函数,就是给你一个数组你把它随机打乱顺序,要求完全随机。

我第一次说的是新开一个数组,每次随机从原数组中选择一个元素放入新开的数组中。面试官追问如果不能开辟额外空间呢?我说那就交换吧,遍历数组每个位置上的数组都和其后面随机一个数字做交换。面试官说你证明一下正确性,想了一会儿给出了证明。

二面:
LeetCode42接雨水:我知道比较优雅的做法是动态规划,奈何不会啊,最后面试官提示说也可以用单调栈解决,于是 在面试官提示下 手撕

三面:
面试官一上来就笑呵呵的问我前两面感觉怎么样啊,我说发挥不太好但是面试官都给过了。他说那我们做一个算法题吧:抢过红包吧? 你设计一个函数,输入金额总数m和红包个数n,要求返回一个长度为n的数组代表n个红包,要求每个红包金额随机。注意红包最小单位是分。

我问了能用什么api吗,回答说给你一个random(n)函数可以1~n之间随机一个数,一共十分钟,现在还剩五分钟,写代码吧。 我的思路是求出总金额sum用分做单位,然后随机生成n-1个sum以内的数,用b ool  marked [sum]  来标识,如果生成重复,则需要再次生成。最后遍历这个sum数组每两个marked=true的点之间的部分都是一个金额随机的红包。
 
三面面试官应该是部门领导了,问我最近半年在看什么书呀,我说我半年前才转到计算机系,现在在看Java并发编程的艺术。问我以后打算学点啥呀?我说Spring Cloud 和 Netty。
 
hr面:大学期间你最骄傲的事,为什么不考研,怎么看待加班,我说加就完了哈哈(不是原话哈),然后又说其实我们是弹性工作日的... 最快可以什么时候入职

第一天连续三个小时的技术面试,第二天半个小时的hr面,第三天 offer。 三面都问了一些常规的基础知识,比如 HashMap细节相关的,cookie和session,ThreadLocal是什么,使用会带来什么问题(不会),redis的相关读写策略(我也不是很清楚),NIO和BIO的概念区别(我做过一个Java NIO的项目),Spring IoC(做过Spring Boot的项目),TCP四次挥手,还有两位面试官都让手写了SQL(实在好久没有写了,基本的语法都忘了,尴尬)

心得:
①把深入了解过的知识点尽量在简历上着重描述下,我其实准备了不少 和 锁、线程池相关的内容,不过一点儿也没问。

② 一些东西不会很正常的,面试过程中不要有太大心理压力,面试官也不会太难为:比如我简单的SQL都不会写了,面试官说:没事看来你这块不熟,我说:确实,很久没练习了。

③但是代码题还是字节比较看重的,主要分别说说我遇到题目吧(每一面都有一个手撕代码题):
 
总结


1.做决定前深思熟虑,做决定时要果断和坚定。迷茫的时候可以请教他人,但需自己认清现状和自身情况。

2.时间和精力是很宝贵的,花点小钱学习一些优质的资源就是在走捷径(我用的比较多的是mooc网和极客时间)

3.学会抓大放小,分清主次。比如对于学校课程我只是考前突击,想让我平时去课堂里听课和完成作业是不可能的,相反我会在规划和探索适合自己的学习路线上花费很多时间。

4. 总是由学习收获/花费时间这个值的大小和变化,来驱动自己进行高效和有价值的学习的。 比如学技术或者做项目的时候不要太过沉迷细节,要带有比较强的目的性。我做一个项目是用到了微信支付相关内容,看了两个小时微信文档没耐心了,遂想:我花精力搞这干嘛,有意义吗,于是果断跳过这个章节继续学后面的模块。

--end--

特别推荐一个分享架构+算法的优质内容,还没关注的小伙伴,可以长按关注一下:

长按订阅更多精彩▼

如有收获,点个在看,诚挚感谢

免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

上海2024年4月17日 /美通社/ -- 在2024 F1中国站即将拉开帷幕之际,高端全合成润滑油品牌美孚1号今日举办了品牌50周年庆祝活动。三届F1年度车手总冠军马克斯•维斯塔潘也亲临现场,共同庆祝这一里程...

关键字: BSP 汽车制造 行业标准 产品系列

北京2024年4月17日 /美通社/ -- 2024年4月13日,由北京康盟慈善基金会主办的"县域诊疗,规范同行"——肿瘤诊疗学术巡讲项目首站在广州隆重召开。本次会议邀请全国多位肺癌领域专家和县域同道...

关键字: AI技术 医疗服务 BSP 互联网

海口2024年4月16日 /美通社/ -- 4月14日,在中法建交60周年之际,科学护肤先锋品牌Galenic法国科兰黎受邀入驻第四届中国国际消费品博览会(以下简称"消博会")法国馆。Galenic法...

关键字: NI IC BSP ACTIVE

上海2024年4月17日 /美通社/ -- 每年4月17日是世界血友病日。今年,世界血友病日以"认识出血性疾病,积极预防和治疗"为主题,呼吁关注所有出血性疾病,提升科学认知,提高规范化诊疗水平,让每一位出血性疾病患者享有...

关键字: VII 动力学 软件 BSP

伦敦2024年4月16日 /美通社/ -- ATFX宣布任命Siju Daniel为首席商务官。Siju在金融服务行业拥有丰富的经验和专业知识,曾在全球各地的高管职位上工作了19年以上。Siju之前担任FXCM首席商务官...

关键字: NI AN SI BSP

随着信息技术的迅猛发展和大数据时代的到来,机器学习成为了人工智能领域中的核心技术之一。机器学习是通过模拟人类学习行为,使计算机系统能够从数据中自动发现规律、提取特征并进行预测和决策的过程。它在诸多领域取得了广泛的应用,包...

关键字: 计算机 人工智能 机器学习

随着大数据时代的到来,数据处理成为了一项至关重要的任务。传统的数据处理方法往往面临着效率低下、准确性不高等问题,而机器学习技术的兴起为数据处理带来了全新的解决方案。本文将深入探讨机器学习在数据处理中的应用,并分析其优势和...

关键字: 数据处理 计算机 机器学习

机器学习是人工智能领域的一个重要分支,它使用各种算法来使计算机系统能够从数据中学习和改进,而无需进行明确的编程。在机器学习的广阔领域中,有多种算法被广泛应用,每种算法都有其独特的适用场景和优势。本文将详细介绍机器学习中的...

关键字: 机器学习 人工智能 计算机

随着信息技术的飞速发展,机器学习(Machine Learning)作为人工智能领域的重要分支,正在逐步改变我们生活的方方面面。那么,什么叫做机器学习呢?简单来说,机器学习是一门研究如何让计算机从数据中自动获取知识和技能...

关键字: 机器学习 人工智能 计算机
关闭
关闭