前言
我是从三月初开始找暑期实习,期间投递了快三十家公司,面试了大概十几场吧,期间一直在看牛客上的面经,现在拿到offer终于有时间写面经回馈牛客了(之前两个月0offer真的焦虑成狗)。
两个月一直在为笔试面试做准备,翘了不少课,现在终于有offer了,之前的努力没有白费。
offer情况:
腾讯csig客户端已经oc,但还没收到正式邮件
美团地图iOS客户端已收到正式offer。
(5.13)百度c++,hr说补录给offer。(鱼都养跑了)
面试情况
腾讯提前批(稀里糊涂的投,稀里糊涂的被捞起来)
后台开发一面挂(不知道哪个部门)
wxg移动客户端 一面挂
天美游戏客户端 一面挂
腾讯正式批
csig客户端已oc
美团
美团地图 已收到正式offer
在美团官网投的安卓客户端,笔试不太行一直没有面试,后来被ios客户端的hr捞起来,感谢这位hr小哥哥
阿里
java开发工程师
3月17号投递的,4月1号一面,4月7号二面,4月23号被告知转到别的部门的测开岗,4月25号一面,到现在还在流程中
百度
北京-C++/PHP/GO软件研发工程师 一个早上连面三面,现在实习生三面阶段
京东
测试开发
这次面试就离谱,一面面了五分钟,二面十分钟,第二天到hr面,hr面面了15分钟,最后hr面不通过
携程
java开发
4月19号的一面,现在流程还在一面中
字节
还没投简历就被后台开发-视频架构的hr给捞起来,一面遇到小姐姐,二面被问自闭了然后就是二面挂。
后面两次简历挂(一个投错了,一个投了暑期实习岗还是简历挂)。
还有一个c++跨平台开发给笔试了。
联想
java开发
无笔试,有个素质测评,一面只问了项目,面试官觉得项目太简单了,最后收到感谢信了、
还投过网易、拼多多、oppo、快手、海康威视、58同城、华为、新东方、微众银行、恒生、小鹏汽车一堆堆,有的笔试挂,有的简历挂,有的简历沉大海。
我没有记笔记的习惯,面试也没录音,太久远的面试可能记不得了。只能列举一下十几场面试问到的东西,后面会跟一些问过这些问题的公司(有点像倒排索引)
计算机网络(基本都是八股)
1.TCP UDP 的区别 (腾讯、百度、字节、美团、阿里)
2.TCP三次握手、四次挥手过程 (腾讯、百度、字节、美团、阿里)
3.TCP的拥塞控制 (字节)
4.TCP 三次握手四次挥手中间状态,以及中间状态time_wait,close_wait过多的危害,过多时如何处理,为什么要等待2MSL(字节、百度)
5.ARP协议以及链路层、网关方面的知识 (字节)
6.http 1.0 1.1 2.0的区别 (百度)
7.http get post的区别 (百度)
8.http https的区别,https的具体流程和原理 (字节、美团)
9.http状态码,问过最多的就是204、301、302、403、502、504 (腾讯、字节)
10.服务器如何保持回话(字节、百度)
11.cookie session的作用和区别,session如何存储 (字节、百度)
12.select、poll、epoll的区别 (美团)
13.http请求的完整过程 (美团、腾讯、百度、字节、阿里)
操作系统
(有的不问你八股,让你自己讲一些有哪些内容,自己拓展,还会问你正在学的课程,不会的别说避免给自己挖坑)
1.进程、线程的区别 (美团、字节、腾讯、百度、阿里)
2.进程调度算法 (阿里、美团)
3.进程间通讯方式
4.死锁(美团)
5.设备管理(美团,我说不记得了,他也就放过我了,后面也有各种展开,问程序执行过程,编译链接,装载内存,cpu执行,balabala)
6.内存管理、虚拟内存(美团。腾讯、字节)
7.用户态、核心态,为什么要这样设置 (字节)
linux (阿里、腾讯、字节)
1.具体场景命令的使用
比如:怎么将一个文件修改为指定权限,怎么查找文件夹下的文件,怎么创建多级目录,怎么查找文件中的字符串,怎么查看端口号被哪个进程占用,怎么查看网卡信息
2.有的会让你自己介绍你用过哪些命令
3.被问过的:find 、chmod 、grep、top、 ps、ifconfig
4.因为什么原因学习linux,linux上做过哪些开发
c++ (腾讯、字节、百度)
我c++学的挺一般的,c++新特性都没怎么用过,就说更熟悉java,所以问的不多
1.面向对象的三大特征
2.多态和多态实现的方式
3.重写(覆盖),重载的区别
4.c++和java的区别
5.const关键字
6.虚函数,纯虚函数,抽象类,虚函数表
7.c++ 11 新特性
8.用过的STL容器,及其底层实现,被问过vector,map,哈希表,优先队列
9.智能指针有哪些,如何解决循环引用
10.lambda 表达式
java (阿里、腾讯、携程)
主要是阿里面试时候的问题,阿里的话很多都是问一个方向自己展开因此下面很多都是自己对问题的展开。
面向对象的三大特征
hashmap的基本原理,扩容方式,是否线程安全,和其他hash容器的区别,jdk1.7和jdk1.8的区别,老八股了建议多看看源码
synchronized 和 Reentrylock 的区别
synchronized 的底层实现
voliate
ThreadLocal 的原理
java线程创建方式
java线程池创建方式,线程池的主要组成部分,线程池处理任务流程,拒绝策略,有哪几种线程池,newCachedThreadPool的缺点
写个多线程同步的例子 (腾讯)
写个单例模式(线程安全,双重检测的缺点)
锁的种类,共享锁互斥锁,读写锁,可重入锁,公平非公平锁,悲观锁乐观锁,无锁算法CAS,ABA问题如何解决ABA
类加载的双亲委派机制,这样做的原因
jvm相关,jvm的作用,jvm内存结构,jvm各部分的功能
.jvm垃圾回收机制,堆内存分代,new出来的对象一定在堆中吗,什么时候进行gc,可达性分析法,复制算法,标记清除算法,标记整理算法,三色标记法,垃圾回收器有哪些,垃圾回收的过程(Stop world),CMS和G1的区别。
java的NIO
常用设计模式,被问过单例,策略以及用过的设计模式,用过工厂和装饰者就balabala说了点
.面向对象开发的七大原则
当时java学了一星期就去面试了,边学边面,有被问用java写过什么项目,了解常见框架吗(正在写,不会用框架),还问到java学了多久我谎称学了2个月(我怕说一个星期他直接就给我挂掉),他说两个月的话基础还行,深度和广度不够。