想写这篇文章很久了,玩了大半个月准备回来总结下,也算是回馈社区吧!
先说下个人情况,二本非科班(但专业也有计算机基础的课程),秋招投递110家左右,笔试了30家左右(包括宣讲笔试和线上笔试),面试了10家左右,最终offer是拿了五个(最后选择深信服,自己已满足,秋招已结束)
我秋招投递的岗位大概有后端开发、Python开发、运维开发、服务器开发这几种岗位,投递的公司也没必要说,太多了emmm就当做牛客上出现的公司我可能都投过吧大概这样哈哈哈...(后面再附上面经,首先说故事)
-----2018.09-2019.03:首先是这半年长的时间,我主要学习的是数据分析和部分机器学习的内容,准备之后找个数分的实习,一开始学爬虫,很感兴趣,但发现爬虫其实就那样,把网络基础玩熟悉了,就只剩框架了(还不能随便爬),后面接触数据分析,学了Numpy,Pandas以及可视化工具Matplotlib,然后学机器学习实战,超级感兴趣,并且全部在用数分的那些工具处理数据,后来喜欢NLP,买了很多书准备看,但还是把几个常见的机器学习算法给搞懂做个实战项目,沉浸其中,但后面才渐渐意识到,光是应用绝对不行,机缘巧合加了一个导师微信,他告诉我我现在的状况往深了走是算法岗的内容,但至少要个研究生吧?本科生可能只能做简单的数据分析(偏SQL那种),后面五月份找实习也是这样跟我说的(明确我进不了数据挖掘团队),我才了解到行情(在此说明,我附近秋招氛围为0,到目前也只有我一个人拿了秋招的offer,在此并无其他多的意思,只想说明下自己怎么走的弯路)。后面,做了个决定:毅然决然转开发!
-----2019.06-2019.09:
顶住压力转方向,开始做项目,复习基础(非科班的基础只有非科班的人懂),所以在此更要感谢牛客!没有牛客,我现在可能还是咸鱼不知所措。为啥这样说?我在牛客刷了1200多道选择题,80道编程题(编程题纯为了笔试而刷,大部分在刷Leetcode),回想起来这1200道给了我多大的帮助,现在只有我自己体会得到!ok,到了七月,提前批开始了,我的简历还是数分的项目(还没做完并吃透开发的项目,没敢写进去),投后端就自然而然挂了不少。时间到达7.10,这是我正式准备秋招的时间点,开始狂刷基础题和编程题,项目进度也不管了,慢慢走。在7.10-7.26这段时间,可以说是我状态最好的半个月(尽管宿舍没空调,但每天几乎都在通宵边缘试探,学习时间高达12-14小时,回想起来效率也还不错,我的题目大部分是在那段时间刷的),再次感谢当时的自己!然后到了七月底了,准备迎来第一场笔试(8.3网易提前批),做完8.3笔试,整个人陷入自闭,又开启了疯狂刷题的进程,时长大概又是半个月,这段时间刷的大部分是编程题,并且项目基本在8.20之前就搞完,很熟悉,在那时秋招正式批开启的七七八八了。我开始海投,由于自己的情况特殊,很多不确定导致了很多不自信,为了争取机会,啥都想投,哪怕挣个笔试面试都是赚的(当时真心这么想),每天都在焦虑和期待中度过。8.20应该是我正式批秋招的开始时间:每天深夜投简历做测评(那种没限制时间段的测评),有一说一,投的这么多做的想吐是真的哈哈哈。然后就有笔试认真做,但基本都没怎么有消息,转眼就九月了,更加焦虑但更加不甘心,冲劲十足那个时候。
-----2019.09-2019.10:
这应该是我人生到目前为止最宝贵的一个月,没有之一(高考都没这么拼过,现在想想高考要是能这么破釜沉舟的冲,可能结果也不会差),开始进入疯狂的笔试和面试环节,最多一天三个笔试加两个面试,从早上八点到深夜0点没停过半刻,中秋之前就面了两三家,都毫无疑问的挂掉了,但学习到了不少,在此用心感谢那些公司!中秋后经过一波调整复盘,好像开始开挂了,9.17开始到9.29,疯狂面试和继续笔试,走完流程的五家全部开奖,深信服一拿到,我就满足了,9.29直接回家过节了,到现在浪了大半个月。到此,秋招记录也告一段落。
总结:未来可期,继续学习,继续努力前进,还在奋斗的同学相信自己就完事了!这个秋招,让我感慨万千,在大佬面前,我仍然是个DD,这合情合理!但对于我自己,确实是个想象不到的突破!最后祝所有同学都有心仪offer,都有自己想要的生活和人生。最后附上部分面经(有些忘了写的,尴尬,我觉得能给面试的我都很珍惜的,面经写的不好请见谅),然后各位江湖再见!
广发银行研发中心(9.8现场面)->很奇怪的面试(第一面总是这么的奇怪)
笔试:软件工程的题做的不太好
面试:
进程和线程的区别
还有更基础的东西问问
扣项目(登录怎么实现)然后没了,吹水???
360(9.12一面)->
讲一讲项目经历,做的最好的(功能上、组件、用处)
扣项目(注册登录验证?登录过程?用户好友信息怎么存储?图片怎么上传?数据库用的什么?)
Python闭包 闭包内函数与普通函数有啥不同 怎么修改外函数局部变量
Python与C之间调用
Python三大神器:迭代器生成器和装饰器
Python垃圾回收机制
Python代码规范(类名大写,函数名一律小写)
输入一个url到显示网页经历过程
http请求到响应过程经历了什么
TCP安全机制有哪些
IP寻址
对称加密和不对称加密
链表内存中存储方式(物理存储上非顺序、非连续)
数据库MySQL框架,模型,组件等等
涂鸦移动(电话一面):
讲项目(挑个复杂的讲,自己引导到会的模块):
项目复杂的点在哪?注册怎么实现?登录怎么实现?(引导到网络,可惜不问)
问语言,学过除Python之外的语言吗?学过C++或JAVA吗?ok,不问语言问题
操作系统学过吗?经典问题:银行家算法作用和原理?避免死锁,原理。。。
给定场景:(哲学家进餐问题)有5个哲学家,每人旁边有一根筷子,哲学家拿起两根筷子就开始吃饭,吃完就立刻放回去。问如果哲学家都同时拿起一边的筷子,那么都吃不了饭,如何处理这种问题(其实就是如何解决死锁,有点开放的问题)
数据结构:Hashmap原理,和红黑树区别,红黑树原理和作用,AVL与Hashmap区别
算法:讲一下插入,ok讲一下堆排,ok讲一下最小堆和最大堆如何创建
二分查找的原理、前提;ok,给定题目:
如果一个没有排序的列表,要一边排序一边二分,应该选择哪种排序算法比较好?
答:堆排,(好像不是想要的答案),然后灵机一动,归并可以一边排序一边二分查找Target。emmm,(面试官说这题有缺陷,如果是归并那么使用暴力递归也找得出来,引导说快排,ok)
讲一下快排思路,ok快排第一趟结果应该满足什么要求?ok那么他与二分有很大类似之处,结合刚才问题怎么解决?懂了,快排第一趟的key值和待查找的target值比较,然后继续快排就对了。没什么问的了,结束。
3k游戏(走完流程~)
一面(20分钟左右):扣项目(做的最复杂的项目,讲一下这个项目)
注册怎么实现的?登录怎么实现的?(顺便扯一些基础)
安全问题怎么保证?比如用户名和密码在传输过程怎么保证安全?答服务端session是安全的cookie,嗯然后答对称加密...(记得360面试官是说到这个,但没深究),面试官表示其实和对称加密和不对称加密无关,可能想让我回答其他的??
然后问连接的数据库?
用户数据怎么存储的?ORM的实现方式(原理)?答ORM三层映射等等,正确
有用其他大型数据库吗?答之前没用MySQL...
没有涉及高并发的内容,项目不深会考虑怎么拓展?怎么学习?
Github有什么令你觉得很厉害的开源项目?博客呢?
git问了个问题,git clone就完事了...
讲述游戏历程...玩过的游戏、段位,什么时候开始玩游戏(小学开始),一开始玩的啥?
怎么平衡游戏和学习?
然后还问本专业和计算机科学有什么区别?
记忆大概如此...
10分钟后二面:
HR面(20分钟左右):聊日常以及HR常见的几个问题(比如大学让你最有成就感的事情等等)
深信服(三面走完流程)
一面:(20分钟左右)
直接讲项目(遇到什么难点,怎么解决)
聊专业,说到操作系统,问操作系统怎么装,双系统,多少种方式
HTTP和HTTPS的区别,加密方式
TCP滑动窗口了解吗
学过其他语言吗?
编程题:给定一个链表,取链表中值
问Socket编程(比较了解的部分,讲的最久),用过多少种套接字设置方法(我以为问参数)
Flask中CSRF保护实现原理(项目提到)
有些问的在聊天过程忘了...
二面:(30分钟-40分钟)
自我介绍
说一下Python内存管理,垃圾回收中引用计数的实现原理
说一下ORM,和Python怎么映射
ORM实现原理(要说详细)
ORM在SQLAlchemy是怎么实现的(没说好)
数据库用过啥?SQLite,然后没用过大型的就问的少
手撕代码:给定一个包含若干字符串的列表,找出最长公共前缀
算法复杂度是啥?怎么优化?(balabala这部分很久,要求一个接着一个,不停地写)
手撕完继续,讲一下项目注册和登录的实现原理和流程
Cookie和Session
讲一下协程的实现原理
装饰器了解吗,说一下,写一个装饰器(这个好尴尬,写完发现没传参,僵硬)
了解多少设计模式,说了(单例模式,迭代器模式,装饰器模式)
讲一下单例模式的原理,多少种实现方式,单例缺点(这个没说好)
了解工厂模式吗?讲一下(没用过)
简历写的所有排序算法那个最快?其他呢?
堆排和快排适用于哪些场景,算法各自的时间复杂度(最坏和平均)
知道大小根堆吗?讲一下原理
讲一下堆中插入和删除的过程
记得的就这些...
(坐了十分钟,三面 20分钟左右)
就是打电话给我的那个人,纯聊天加HR几个基本问题
有什么问我?
珍爱网(运维开发一面 20多分钟)
自我介绍
讲一下三个项目
项目怎么做的
讲一下注册和登录的实现原理和流程
对运维有什么看法和了解(开始僵硬)
了解开源的运维(大型)框架?
有什么问我?问了部门运维做什么,给我讲了5 6分钟,大概就结束
没有问其他技术(看着我的简历就不像运维吧==)
珍爱网(二面+HR面):
自我介绍
问项目 讲项目部分细节
了解网络吗?学过什么网络模型?(OSI七层 五层模型)
问五层模型 全部写出来,每层各是干什么的讲下
从物理层到应用层有什么协议,作用
TCP和UDP区别
HTTP和HTTPS的区别
用过多线程吗?给定场景,怎么解决服务器同时接收大量HTTP请求?(并发 提到多进程多线程)
了解数据库吗
一些忘了...
HR:基本问题
KLOOK(软开,后端):
初试(群面 + 1V1):
群面:讨论一个电商开发系统(从前端到中台到后端balabala, 30分钟)
1V1:
自我介绍
讲三个项目情况(balabala)
注册登录怎么实现
cookie和session怎么存储
哈希表了解吗?说一下原理
了解的网络协议?我把IP层以上常用的都说了一遍
数据库用过啥?SQLite,太小了...
问博客,其他学习等等
复试(群面+1V1):
群面(40分钟 产品和技术混合)
1V1(体验极差, 不谈)
小瓜游戏(HR面+一面技术)
聊天,没啥好写的...
TT语音(三面走完):
一面:
自我介绍
聊到爬虫,问了爬虫原理,以及挂起爬虫怎么操作(没做过这个)
聊项目,扣项目细节
问简历py框架,对运维了解
问数据结构:数组和链表的区别,应用场景,各好在哪里
(说我笔试成绩挺高然后)
问愿不愿意转Go语言开发,对转语言有没压力
一些忘了...
二面:
扣项目
session和cookie的区别
讲下项目的注册流程,登录流程
密码安全性保证,用的什么方式加密(hash)等等
最近在看什么书?说一下这本书从头到尾讲了什么?(好像是考你的总结能力)
三面:
自我介绍
HR面的一些问题
-----------------------------------------------结束线
各位,祝好!