24届暑期实习求职经历总结

个人情况:末9 本科 成绩前30%

持续时间:3.14-5.18

最后是拿到了招联金融开发岗的offer,直接开摆

寒假阶段

主要工作:复习专业课、完善项目、准备简历

由于疫情原因22年末的寒假放的很早,期末考试推迟到了23年初进行,正好寒假就一边准备期末一边准备找实习,主要工作就是完善之前做过的项目和复习计算机网络(顺带也抽时间看了看操作系统),也算是为找实习打下了一点点基础。寒假期间也花了两天时间磨出来了一份还算可以的简历(包括根据简历写一份成文的自我介绍、将简历涉及的各个知识点简要的列出来),后续的简历修改都建立在了这份简历的基础上。

3月中旬

主要工作:修改简历,逐渐开始投简历,准备笔面试

之前一直觉得自己没有准备充分,虽然春招开始了一段时间,但是一直不敢投简历,处于一个非常纠结的状态。直到同学已经过了阿里的一面,我才开始觉得不能再等了,从此正式进入了找暑期实习的时期。第一份简历投给了阿里,当时牛客上全是阿里的hr在招人,感觉起码收到了30个hr发来的消息(群发),当时还天真的以为经济复苏,阿里要扩招了...

由于是学长的内推(顺便还请学长做了面试辅导),投递没多久就收到了面试邀请。第一次面试直接被疯狂拷打,并且和面试官的沟通上可能有一些障碍,我们经常不能理解对方的意思...周四晚上问完技术问题大概用了1h20min,紧接着又约了一个手撕的时间(据说笔试后50%要加试),又用了大概30min。最后也是不出意料的挂掉了,听学长说这个面试官级别也比较高,要求很严格,面试的时候经常问我优化的问题(真优化不出来啊...)。虽然结果不尽如人意,但是起码算没有遗憾吧:当时会的东西答得还不错,不会的也尽力蒙了。通过这次面试,确实认识到了自己的不足,也为之后的学习指引了方向。

阿里巴巴-1688-测试-一面:

  1. 选一个具体的模块,讲一下模块具体是做什么的,通过什么方式实现,碰到什么问题。比如数据存储,具体是怎么使用的。

  2. 你刚刚提到防疫政策的存储,防疫政策这个东西是什么维度的?政策最小的力度大概是到哪里,(经过沟通,是市维度的),数据量很大体现在哪,是数据的条数还是大小

  3. 政策入库几十条,主键是什么

  4. 除了redis,查询数据的维度是什么, 即你刚提到数据是市级的,用这个数据的对象是谁

  5. 在第一版还没有做存储升级的时候,使用量大概是什么样子的,或者说你们发现它的效率很差,是什么阶段发现的

  6. 用户具体怎么实现这个政策的查询

  7. 把所有的都展示出来的设计是有什么(认为会出现全部数据而不是所处地级市)

  8. 政策存储的化还是会有一些其他信息落到库里面的对吧

  9. 发现他的性能比较差的时候第一时间就想到了redis吗,还是说尝试过其他优化策略,因为我刚刚看你的数据量,就算百级好了,也不是非常大。

  10. db本身要做这个优化的话,怎么做

  11. 在设计上有使用数据库索引吗

  12. redis的优势,是什么让你选择了它

(突然想起来主从复制,但是面试官说没什么用

  1. redis用到了什么存储结构,或者说键值对的键是什么,储存的内容是什么

  2. 除了字符串redis还支持什么数据结构

  3. redis的热点问题(假设数据不会过期和失效),大多流量都打在了某个key或某几个key上,可能会导致什么问题

  4. 第二个项目为什么选到这个项目,人数,角色

  5. 简单讲一下实体关系抽取是怎么做的

  6. 数据集是怎么来的

  7. 所有你们的输入数据是一段话?最终输出是什么?是唯一的吗?原始输入是一段文字还是一句话?每个语句都会经过识别获取到一个关系吗?

  8. 因为你说你的工作是调研一些算法吗,那最终是你说去使用bert+crf的算法吗?

  9. 如果我这个模型训练的不太好,比如“湖南大学”识别除了给“湖”,没有意义,再去计算这个关系时,还会有什么效果吗?假设这个实体我已经识别出来了,我要去做一个关系的处理,会是怎么样去做的?

  10. 你提到你们的模型选用的是Google的模型是吗,你们的模型需要自己去训练吗

  11. 项目我们到这里,下面我们问一些基础的知识,我看你学过数据结构,栈和队列有什么区别。除了存储方面,还有什么区别,比如效率方面

  12. 你在日常开发中有用过队列和栈吗

  13. 两个栈实现一个队列(优化再优化)

  14. 新建一个字符串,你一般怎么做

  15. String StringBuffer StringBulider的优缺点

  16. 有具体使用过吗,除了线程安全还有什么区别吗,或者从性能角度,使用场景

  17. 同样的字符串创建一百遍哪个更快

  18. Linux系统有了解吗,你们的项目在哪开发,shell脚本了解吗,常用的Linux的命令

  19. 写shell:linux下面有一个文件,存了很多ip,一个ip一行,有很多重复,我要统计每个ip出现的次数

  20. 测试方面的问题:你写代码的时候会进行自测吗

  21. 有做过单元测试或者了解过什么单元测试的工具和框架吗

  22. 除了junit呢

  23. 假设我们要写一个单元用例,肯定要有一个校验点要写,就是需要写一个断言,你知道什么是断言吗

  24. 除了黑盒测试你还了解什么测试方法吗,白盒黑盒灰盒的区别

三月下旬到四月上旬

主要工作:复习八股,笔面试

经过上一次面试,本来决定先找点小厂练练手再去面大厂,结果小厂根本不给面试机会啊!!!最后没办法又投了蚂蚁(正好学长在群里要简历)。蚂蚁这边从开始做测评开始就很顺利,尤其是找规律的题目,可以算的上全秒了,笔试也人品爆发式的a出来了两个题目,学长还透露了他的领导对我评价很高(咱也不知道为啥哈哈哈),反正就一路顺风顺水的面完了二面,帮忙内推的学长都已经说了“我觉得你很稳,等来杭州了请你吃饭”。

不出意外的话这时候就要出意外了,在焦急的等待了一周后流程被系统自动终止了,经过打听知道二面给过了但是被组里的大leader直接挂掉了,没有给三面的机会......当时听到这个消息还是挺失望的,不过后来想想也还能接受吧,由于这个部门是支付宝的核心部门(面试官介绍支付宝的所有资金流转都和他们有关)而且又是Java研发,竞争肯定很激烈,前面估计有一些双9的大佬吧。

经过这两轮面试我感觉自己还是自信了不少的,起码真的有过leader看好自己哈哈哈哈,面试官也给了很多中肯的建议:比如将项目转化成实际的成果(专利、软著和论文)、注重在实践中学习等等。也是从这里,我认识到现在招聘网站上写到的“加分项”已经不单纯是加分项了,而是面试官非常希望你会的重点,比如:分布式、高并发等...

蚂蚁-支付宝事业线-支付宝(中国)-Java研发-一面:

  1. 你刚刚讲了第一个项目是软件工程的一个课设吗,通过这个项目你觉得一个软件的研发周期分为哪几个阶段

  2. 你认为你做的这个需求的核心逻辑是什么,是一个什么样的需求

  3. 在对这个需求进行建模的时候,你们里面设计了哪几张表,就是你的er模型是什么样的(实体关系是什么样)

  4. 除了用户表还有哪几张表,就是这几张表是什么样的关系(完全忘光了)

  5. 我确认一下你讲的这些表最开始的时候是你设计的吗

  6. 我再确认一下你们在做这个研发的时候你觉得表实体之间的关系模型设计实在整个软件研发的哪个阶段做的

  7. 我刚刚听你说在实际研发的时候没有完全按照这个表来,为什么

  8. 我问一个针对你用户表的问题,你这个用户表有哪些信息

  9. 这张表的用户的唯一性是用什么来决定的(用户id)

  10. 用户id的生成逻辑是什么样的

  11. 怎么确保每个用户的id是不一样的

  12. 你每个用户来注册的时候都会生成一个id对吗,那你们生成一个id除了算法保证之外,你是对算法完全可信还是会在代码里进一步确保不会出错

  13. 所以说你们完全信任这个算法给他生成一个id

  14. 我看你们用了redis做缓存,主要缓存了什么信息

  15. redis有哪些优点

  16. redis支不支持持久化(支持),是怎么实现的

  17. 我这边看你写了一个乐观锁,乐观锁主要用在一个什么逻辑下呢

  18. 为什么不用悲观锁

  19. 你觉得你们项目还可以改进的地方

  20. 对于这样一个系统,其实是和数据库打交道比较多的吗,我想和你聊一下数据库的事务,你讲一下事务的特点吧

  21. 场景题:在支付宝上面,我们从a账号往b账号转账,这个过程应该符合原子性和事务的一致性那你觉得整个的这样一个过程如果通过数据库的操作来描述,应该包含哪几步

  22. 如果同时a用户账户有100元,但是两笔扣款100元操作同时到达,怎么确保一个成功另一个失败

  23. 讲一下springboot的aop机制是什么逻辑,原理是什么

  24. springboot 框架大概包含哪几个基础模块(不知道)

  25. 那你有没有看过spring的基础模块,他的基础模块有哪些

  26. 我看你这边其实是用了好多工具,你在日常用这些东西有没有看过他的一些源码或者底层实现(没)没看过的话那你是通过什么方式来学习和了解spring的

  27. Java里面的hashmap的实现原理是什么样的

  28. 那hashmap是线程安全的吗

  29. 那我再问一下设计模式,常见的设计模式有哪几种

  30. 讲一个使用设计模式的案例

  31. 你基于pop3做过一个邮件系统,讲一下pop3这个协议是什么样子的

  32. 讲一下socket通信的原理

  33. 如果说客户端连接服务端,怎么判断他成功建立了连接

  34. 后面有读研打算吗

  35. 实习地和工作地的选择

  36. 为什么会这样排序

  37. 附加一个算法题:请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null

蚂蚁-支付宝事业线-支付宝(中国)-Java研发-二面:

这次面试是钉钉的语音通话(没有录音),在面试前几天就加了面试官的好友,约了时间。这是我面试到现在面试体验最好的一次面试,面试官很温柔,全程都是聊天,我也讲了一些自己学习过程中的小故事(经历),不过最后还是问了两个技术问题,让我意识到现在的行情只会到springboot是远远不够了。

印象比较深刻的几个问题~

  • 你刚刚说你比较擅长操作系统和计算机网络,为什么这么说呢,是考试分数比较高还是哪些方面?

  • 数据库的ER模型(一面就问了,当时不会,专门去看了)

  • 乐观锁的应用

  • 信息安全(简历上提到了,但是和他问的不是一个意思)主要指用户的数据安全,比如健康码不用了怎么处理数据...

  • 问了第二个项目具体是干什么的

  • 为什么用了谷歌的模型

最后有三个技术问题,可以说都不怎么会...

  • 了解分布式锁吗

  • 了解thread local吗

  • 了解的并发的数据结构

四月中旬到五月上旬

主要工作:拓宽知识面、学习一些分布式的相关知识(cap理论、zookeeper、分布式锁等)、疯狂笔试

从这时候开始面试机会就变少,身边也开始有几个同学拿到了满意的offer,逐渐焦急......说好的金三银四怎么连面试都没有啊,大概三四个星期只有恒生给了一个15min的面试机会(无下文),蚂蚁其他部门捞了一次(被薄纱)。笔试的话倒是不少,还记得有一周每天晚上都在笔试,有点高中时候密度练的味道了......就这华子的笔试还没到人家的及格线,连泡池子的机会都没给。五一回了一次家,感觉爸妈甚至比我还焦虑,甚至认真思考了去国外读硕士的可能性...算是找实习历程中比较黑暗的一段时间吧。没有任何一家在流程中的时候真的会很焦虑,所以如果你在泡池子可以换个角度思考一下:没消息就是好消息~

提一下银行的技术岗面试:一般来说,面试时间(15-20min)会比大厂短一些,更注重应用能力(比如大厂可能会更多的问计网或者jvm之类的,银行可能更偏向springboot和mybatis),最后有些银行上班是要求穿正装的,如果你面试也按照这种服饰标准可能会给面试官留下更好的印象!

恒生-一面

  1. 自我介绍一分钟

  2. redis的使用场景

  3. redis和数据库的数据一致性如何保证

  4. redis 的 缓存双删有了解吗

  5. mybatis-plus 的 分页是如何实现的

  6. Result工具类的封装和应用,泛式有了解吗

  7. 项目使用的乐观锁是如何实现的

  8. 场景题:有很多人一起抢奶茶,加锁,是加在抢的动作上还是奶茶上

蚂蚁-蚂蚁集团-CTO线-数据与平台技术事业群-智能交互技术部-一面

  1. redis在项目中的具体作用

  2. redis的数据结构

    1. redis的hash怎么实现

    2. redis的string怎么实现

    3. redis跳表了解过吗(不会了

  3. 算法题 两数乘积 时间复杂度On (答案是用hash表来查找(O1)

    就是两数之和的变式,但是当时两数之和实在太简单了,就没好好看优化,也没见过hash表的这种用法...没见过真的比较难想到啊

  4. 有若干大小相同的图片,如何把他们均匀的存到三台缓存服务器中

五月中下旬

主要工作:疯狂笔面试,诸逆之战当放手一搏

上面有提到考虑出国读研,但是出国读研一是要有雅思(英语黑洞哭泣),二是起码要有一份对口的实习。所以趁着五月还有最后的机会,把能投的公司全都投了一遍,换来的是一周7场笔试5场面试(还有一些因为时间不合适鸽掉的没算进去)的魔鬼赛程。经过了一段睁眼算法闭眼八股的日子,总算是看到一丝曙光。

先是QQ浏览器捞起来进行了一次面试,终于打破了长时间没面试的窘境了,虽然面试问的很难,但是整体下来和面试官聊的还算开心,尽力局,认了。后面没多久美团和招联都约了面试,总算是把面试的状态激发出来了:美团是周五晚上进行了一面,还算比较顺利,周一早上九点多就约了二面,可惜二面的时候状态不太对(发烧ing),脑子也不太灵光,寄掉了;招联是周六一下午就面完,一面过了立马约二面,虽然当时感觉自己答得还不错,但是不清楚人家具体的招聘情况,也是提心吊胆了一周。最后招联成果oc,到实习群才发现一共就30个实习生(全部岗位),而且学校基本全是985,本硕未知(总而言之看上去都比我强,更新:入职15人,本科2/15),这能排到我也真是奇迹,我宣布招联就是我心目中的第一大厂!!!

腾讯-pcg-QQ浏览器-一面

  1. 乐观锁的实现(version)

  2. 除了数据库加字段还有什么方式(compare and swap)

  3. CAS有什么实现方式(知道自旋锁,不太了解)

  4. synchronized和lock是什么锁

  5. synchronized和lock的区别

  6. lock加上static和不加有什么区别

  7. synchronized随JDK升级的优化

  8. 了解的并发容器

  9. 了解AQS吗

  10. 了解分布式锁吗

  11. 除了zookeeper还有什么实现方式

  12. redis实现和zookeeper有什么区别,哪个更可靠(从CAP的角度考虑)

  13. zookeeper主节点挂掉了多久之后会有新的

  14. 项目部署了吗?访问量(?)

  15. redis用来干了什么

  16. redis是自己搭建的吗,有几个节点

  17. 验证码的key是手机号吗,可能会泄露用户数据啊,如何改进(加密)

  18. 有什么加密算法可以来做

  19. 在项目中除了key-value还用到什么结构,或者redis还有什么其他结构

  20. 如何实现一共排行榜(zset)

  21. redis的主从复制有了解吗,是怎么实现的

  22. redis的持久化

  23. springboot的启动流程

  24. 当有请求来到的时候springboot是如何处理的(MVC?经过了哪些类?)

  25. 项目如何区分来自小程序和网页的请求(?)

  26. http的请求结构(请求头、请求体详情...)追:如何标识不同浏览器

  27. tcp的请求头有什么?tcp头有多少字节?

  28. 线程池的参数

  29. 为什么没有选用Netty这些框架,选用了原生socket

  30. 为什么选用了缓冲线程池

  31. 有一万个用户如何设置线程池(手动创建),如何设置参数

  32. 你提到给每个socket一个线程,如果socket连接的时候收到阻塞,会影响后面的socket连接吗,如何解决(serversocket的连接数量限制?没太理解,我觉得不太会有这个问题)

  33. 除了用线程池,还有什么实现方式

美团-到家-研发平台-iOS-一面

居然没有自我介绍

  1. 讲一下OSI的每一层和他的作用

  2. http属于哪一层

  3. TCP三次握手

  4. get和post的区别

  5. http和https的区别

  6. https怎么加密通信

  7. 数字证书的组成信息(只说了数字签名+密钥...)

  8. 数字证书如何验证(现在看不是很清楚他想问什么,我说了数字证书的验证过程,他也没继续问,答案:链接

  9. 对设计模式的了解

  10. 死锁了解吗

  11. 线程和进程的区别

  12. 当一个线程挂了会对其他线程产生影响吗

  13. 当一个进程挂了会对其他进程产生影响吗

  14. 你项目中遇到的有挑战问题,如何解决的(redis)

  15. 缓存之前时间主要花在哪,是url请求吗

(面试官主要搞ios,对redis不是特别了解,按照他在互联网混迹多年的理解来推理的,所以我答的也不一定是他想知道的)

  1. redis的更新策略

  2. redis对大规模缓存的限制

  3. redis的内存淘汰策略

  4. 算法:青蛙跳台阶(dp)

美团-到家-研发平台-iOS-二面

项目中的角色 作用

  1. Java的反射

  2. Java的内存管理机制

  3. Java的类加载机制

  4. Java的泛型

答得不好直接寄了

招联-开发-一二面

下午4:03开始的一面,整体的问答节奏非常快,大概十分钟就结束了技术问题,面试结束后十分钟不到就通知了二面

一面

  1. Spring的AOP是怎么实现的

  2. 动态代理的实现方式

  3. AOP什么时候失效

  4. 你提到你写过很多文档,在写文档的时候有什么总结和规范吗

  5. 多线程有用过吗(有),线程池的使用和参数

  6. 项目中遇到的难题

  7. Java中的深拷贝和浅拷贝

  8. 深拷贝什么时候使用呢

  9. 你对hash表有什么了解吗

  10. hash表的扩容是怎么实现的

  11. hash表的线程安全是怎么实现的

  12. 如何不用Java中的锁来实现线程安全

  13. 你对分布式锁还有什么了解

  14. 对消费金融有了解吗

  15. 成绩,打算读研吗

  16. 为什么选择深圳

  17. 想在实习中收获什么

二面

记不大清了,没什么技术问题

  1. 成绩

  2. 为什么找工作

  3. 还面过哪些公司

  4. 项目中的难点

  5. 对招联的了解

    剩下的和一面的非技术问题差不多

反问问过的:

  1. 多久出结果

  2. 部门业务

  3. 对实习生品质的期待

  4. 实习生干什么

后面接了offer又有一些厂约面试了,卷不动了(而且待遇也一般)全拒了,暑期实习面试就到此为止吧!我滴任务完成辣!

心得体会

一点拙见,各位看个乐~

  • (和美团面试官聊天的时候说的)暑期实习对同学的要求可能没那么高,大家都是从那时候过来的,知道这个阶段水平都不算很高,更注重的可能还是能不能和大家友好沟通友好相处。人家招你进来是当同事的,而且很有可能会负责在实习的时候带你,如果面试的时候你们都聊的不开心怎么可能通过捏?

  • 简历上的东西一定要完全掌握,甚至可以适当的给面试官“下套”,聊一些你擅长的东西,将问题转化成话题,唠起来,把面试的主动权掌握在自己手里,总比面试官不知道问什么而开始随机八股问答要好。

  • 头几次面试大家难免都会紧张,如果面试不太顺利也不要慌,面试后及时复盘,把面试官问到的问题做一些总结,在一次次面试中获得提高。可以想象成获得了一次和年薪大几十万的优秀学长聊天的机会,他来帮你查缺补漏,机会难得啊!

  • 最后,面试就像相亲,确实包含着很多运气成分,是双方双向选择的一个过程,如果面试官态度冷淡,你也不用感到自责愧疚,双方看不对眼而已,你肯定也不希望来到这样的环境来工作吧?

学习资料

珍藏八股:

CS_Notes(精简)

pdai(全面、深入)

JavaGuide(偏基础,适合新手看)

小林coding(主打图解)

代码随想录(算法)

招聘渠道:

投递一定要去官网!!!牛客和boss上很多都不理人,体验极差

牛客吹哨人(不定期更新招聘信息)

校招帮小程序(好像被恶意举报了)

我投过的公司:

投递过的部分公司 恒生 阿里 网易 广发 携程 核桃编程 爱奇艺 交银金科 oppo vivo 百度 快手 蚂蚁 华为 京东 顺丰 SHEIN 虹软 吉利 中欧基金 虎牙 众安 美团 商汤 用友 cvte 东方财富 网易有道 腾讯 平安银行 中国人寿 光大银行 招联 360 海信 上汽 江苏银行 宁德时代 北森 恒丰银行 华夏基金 快手 宁波银行 奇安信 特斯拉 兴业银行 海康威视 广汽 台积电 长安汽车 上汽 新华三

最后感谢一下一路push我的伙伴们,有一群有着共同目标、一起努力的伙伴真的很幸运!

猜你喜欢

转载自blog.csdn.net/m0_51561690/article/details/131550812