找暑期实习总结

  1.阿里巴巴实习(后台开发,挂了)

    阿里巴巴的面试官满牛逼的,气场很强,给人的压迫感也很大。这场面试没怎么准备,当时自己生病了,表现的很差,被面试官吊打的节奏,但是实话实说这次面试让自己也学到了很多,自己以后的学习更有针对性了。

    首先是自我介绍了下,然后开始问专业问题。1.首先是Linux多线程多进程,问我有没有写过,我说写过,他让我写出大概的框架,用到哪些函数。(蒙了啊,不是说考个基本的概念吗?)啥都不记得了,只是在之前写过简单的demo代码,用起来啥都忘了,结结巴巴的说了一大通。其实主要要记住fork、pthread_create、pthread_join、pthread_attch、pthread_detach的基本用法pthread_wait、pthread_cond等待条件变量基本框架记住就好了。2.线程与进程的区别,当时回答的也不好,好多基本概念也许你是知道的,但是面试的时候你啥都不记得了。现在想起来如果让我回答,主要是线程是资源调度的基本单位,不拥有资源,多个线程共享进程的资源;进程拥有资源,进程的创建开销要比进程更大。3.然后是多个线程共享了进程的哪些资源,硬是要我全部回答上来,总是问还有吗还有吗。4.在一个线程中new一个对象,在另一个线程中可以访问吗?怎么访问?可能当时自己的C++基础太差了,其实这是个很简单的问题,只要不delete,另外一个线程就是可以访问的。怎么共享也很简单,创建一个全局对象指针,在每个进程中共享这个指针就好了。或者是创建一个主进程的对象指针,在每个线程创建的时候传递这个指针,当然这要用到互斥锁来搞定并发问题。后悔当时自己没复习好。。。

   然后问我对C++还是java熟悉,我说C++,其实我两个都不怎么熟悉。问了我一个模板的实现原理,我说编译时确定各种类型,他让我具体点编译器怎么实现的,我面试完了之后在网上都没查到是怎么实现的,我当时应该访问依据他是怎么实现的。 

   接着是网络问题,其实也很简单。socket调用过程,这个也是好长时间没有用到了,忘记了,只记得大概的过程,忘了accept这个函数。然后是拥塞控制和流量控制,流量控制直接忘了是啥。另外就是SYN状态转移图与socket函数之间的一一对应关系。

    然后是算法问题,这两个题我都见过,可我还是不会做。一个是,后序非递归二叉树遍历,另一个是二叉树两个节点的最近公共父节点。

    最后假装问了下研究生科研项目,其实我也都不准备说了,明显过不了的。

 

阿里面试完了之后痛定思痛,好好研究问题。接下来的三个星期,每天刷牛客网上的算法题,有意识的记一些基本概念,看别人的一些面试经验。

  2.百度运维面试(挂了)

  师兄内推的,百度运维部门的面试。这次面试感觉比较简单,为什么第一面就挂说实话我也是很不能理解。

  首先是问了下科研项目,自己感觉讲的还行,他也没多问了。

  然后问我对网络有什么了解,我就说了下七层模型。

  问了我一个算法,一百万个数,每个数都是1-10之间的排序,我当时一瞬间就想到了,我说是哈希,他问我怎么哈希,我就说开辟大小为10的数组,统计每个数的个数。他也没说啥,准确的说法应该叫啥桶排序吧。

  然后是C++问我知不知道虚函数,说了下虚函数在对象内存中有一个虚函数指针,指向虚函数表,虚函数表中记录了每个虚函数的指针。他也没说啥。

  总之,百度的面试感觉没啥要问的,可能是效益不好本来就不准备招多少人吧。

  总结了下经验,然后就是四月中旬的腾讯面试了。

  3.腾讯面试(后台开发实习生,过了,这个真的是很惊喜)

  一面是在13号的下午四点收到第二天早上九点面试的短信通知的,本来以为笔试挂了,当时我的心情真可谓跌宕起伏大家可以感受下。
一面面试的内容比较基础但是很全面。主要由计算机网络,操作系统与Linux,数据结构与算法,C++与STL模板四部分为主。首先面试官问的是我的兴趣爱好,我说跑步,可以锻炼身体还可以释放压力。(这个问题二面也问了,也是基本同样的回答)接着问的是你搞过Linux编程,我说是的,那你写过Makefile吗?我说写过,他说那你就写一个Makefile吧。我写完了给了他,他啥话没说,事后我查了下有一点点问题,主体框架是对的。然后问你用过gdb吗?我说用过但是用的不多,然后他就让我把自己知道的gdb调试方法说一下,我就说了几个print查看变量,break设置断点,然后我都忘了,他又问了个怎么调试正在运行的进程,我蒙了,我说我不懂你的意思,又解释了一遍还是不懂,就过去了。
第二部分问的是C++和STL还是那几个经典的问题,虚函数啊,纯虚函数啊,vector,map底层原理啊,这一部分比较简单。他问我map和set的区别的时候,我说我没用过set,我能不能解释下map的原理?他说可以。这部分比较顺利。
接下来是数据结构与算法部分,很简单,第一题手写快速排序,五分钟时间,我当时短路了,乱涂乱画了一下,直接用了switch元素的办法而不是挖坑法,但是他也没说啥。
接着问到了TCP的过程,建立连接,销毁连接的过程,为什么要三次握手,为什么四次挥手,拥塞控制和流量控制分别是什么概念,流量控制的过程,分别要解决什么问题。建立连接的第二个syn作用是啥,我当时也不知道怎么想的,说了个建立服务端到客户端的连接,因为tcp是全双工通信,下来之后我才知道这个说法不对,当时他也没说啥,可见面试官还是允许学生犯点错误的,只要说出自己的理解就好。然后还有就是socket的整个过程中的函数调用。
接下来又是Linux中的问题,分别是会不会创建进程,创建线程,我说会,进程间通信方式,我把那几种说了下,又问,创建共享内存会写吗?我说我忘了只记住一个shmget,他给我一支笔让我把创建线程,创建进程,创建共享内存写出来。分别是fork,pthread_create和shmget,最后一个我是死马当活马医,没想到这个函数既是创建又是获取共享内存。他看了看,这一部分算是过去了。
接下来又是算法题,很简单,单链表是否有环怎么判断,我说如果有环必定两个一块一慢指针某个时刻相等,他让我证明,我就画了个图证明出来了。
接下来就介绍了下部门是做游戏后台的,我这才回过头来,我报的SNG被调到IEG了。然后面试官说后面还有一轮技术面,我追问了一句,意思是我这一轮过了?他说我们还要讨论下。第二天中午十二点我查了下微信,过了。
 
二面:
  不同于一面的和蔼可亲,二面明显脾气比较大,全程板着脸。二面的题目不能细说,因为签了个保密协议。
首先是死死揪住我为什么是学通信的要来搞游戏后台,我就扯了一通,他硬是不满意,又问了个你知道前台和后台有什么区别,我就说了前台重视人机交互体验,后台更注重高并发。他问高并发怎么解决,我说硬件上更新,软件上选择合适的模型(大家懂得,那三个模型)。接下来就是问这几个模型的区别,实现原理是什么,你写过吗?测试过吗?我写过,没测试过,看网上写的,他让我现场写出来,并建议我回去测试下。下一个题是一个算法题,红黑树或者最小堆解决。这时他突然问,这些课你学通信的都学过?我说都学过,你自学的还是?我说老师教的。然后问了科研项目,这个大概有二十分钟吧。接下来是最后一个问题,哈希问题,纸上写出来。最后的解决方案不完美,他说你这种哈希方法不好啊,我说我知道不好但是我又没想到更好的办法,然后他说这就是面试。然后让我回去等消息。当天下午四点钟,查了下,过了。
 
HR面:
  这个就比较简单了,聊了下生活,聊了下理想。
 
总结:
整个面试下来还是比较简单的,都是很基础的知识。四个算法题没有一个是特别难的,这更加坐实了我的一个观点,面试题难度不会超过二叉树,好好把基础搞定就好。我本科开始玩Linux,研究生在Linux上做内核开发,所以Linux基础还算可以。本科研究生通信相关,TCP那一套就比较简单了。算法题,我是从3月4号开始在牛客网上刷题的,一共刷了43个题目,做完之后我真心感觉自己的算法功底进步了不少。内核开发主要是C语言,没有C++,C++我刚接触一个月不到,这个地方特别简单,问题很死的。

 

  4.华为(研发部门,通过)

  这个是在腾讯招聘的间隙,第一面第二面中间的一个下午进行的。当时真尼玛累啊。看我学过Linux内核问了我一个啥“内存分配函数” kmalloc、vmalloc和get_free_page(s)然后第一面就过了。第一面的面试官人很不错,和以往印象中的不一样,人很好,看样子蛮想要我去的,记了我的手机号,还问我是不是真的想去华为。还说你这第二个项目是实验室的还是哪的,我说是我自己接的私活,他还说华为不喜欢学生这样干,你就说是实验室的就可以了,这也是保护学生。

  第二面就是传说中的压力面,这个人老是打断我的话。本科华中师范大学,他说他没听说过;我说就在广埠屯那里,他说就是那个很小的学校啊,我说也不算小,一年招收四千人左右啊,那么小的学校招收四千人老师管得过来吗?对华为坑比的压力面早有耳闻,当然难不住我啦。华师的师生比在整个武汉的高校里面都是很高的。你们班上多少人?四十个,你保送武汉大学的?是的。你们这种学校也能保送武汉大学?日常生活说这种话是很不礼貌的,不过我当时很冷静地说是的。还问了家里的情况,等等。总之全程黑着脸,很难受。但是最后也过了。

 

转载于:https://www.cnblogs.com/shenshenlei/p/5519076.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值