【面筋已到】面试BAT、360实习生有感
来源:互联网 发布:临沂知豆电动汽车租赁 编辑:程序博客网 时间:2024/04/30 00:28
[自我介绍]
我先自己来段介绍吧,本人不才,就读天府之国的一普通高校,IT相关专业,热爱C/C++编程,写嘛嘛香,不过对网络编程、windows的底层有一些爱好研究,虽然年纪尚小,但是已经有一些经验了,之前在中科院做过客户端,参与过某些国家项目开发。C++功底还行,TCP也很在行,数据库还有待一些提高。下面呢,我将简要介绍下我在2016.4-2016.5之间面试官问的问题,80%都回答上了,也都面试到最后一轮了。
如果你对我有什么建议和纠正,希望您能在文章下面留言。
[面试W公司]
约定了电话面试的时间,准时就打过来了,充满信心地接了电话~
1、您好,我们是W公司,我们可以开始面试了吗。您先做自我介绍吧。
本人做了简单的自我介绍并且将项目经历、以往的实习经历、技术博客等等都做了简单介绍,最后说明了自己对这个岗位的希望。
2、你说下你为什么从Z公司离职吧?
本人很真诚说了下自己的想法,很希望进入W公司,大公司有大发展。
3、你说下你的项目中最有特色的一个吧。你之前做的什么岗位,主要参与哪个工作呢?
4、对这个职位的看法?
5、我看那个项目中,主从切换是比较复杂的,你能把我讲明白吗?
本人梳理下思路,然后给面试官说了下。
6、给你出个题,某个软件的设计、开发、测试。
我刚开始从功能分析开始,面试官中途打断我了,就那个小功能,你说下你的设计。滔滔不绝说了很多,从设计、功能实现、安全防御各个方面做了鲁棒性较高的设计。
7、你对你毕业设计初步构想是什么?你觉得能完成吗?
8、你能实习多久呢。下学期课程多吗?
9、好的,我这里结束了。后面会有同事继续面试你,谢谢。
[面试B公司服务器-三面]
晚上10点钟,接到电话,面试官说很抱歉,因为之前的同学太多,面试到现在比较晚了,打扰了。本人说没关系,面试官辛苦了,的确蛮辛苦的,我们现在开始面试吧。
(具体内容下次更新)
[面试B公司]
向百度部门的HR投了简历后,过了几天,一面面试官在某天下午突然打电话过来,我一看是北京的,马上去一个安静的地方接了电话,问了我简历上面的那些技术,哪些比较熟悉,回答对C/C++,Socket通信,内核模块编写、TCP/IP熟悉,对数据库不熟。他说行,大概问问情况,又问了我能实习的时间,毕业论文想在哪里完成等等。
第二天中午11点过,意料中的电话打来了,010北京座机。
刚开始面试官问了下我的实习时间段和入职的时间,接着就开始了面试。面试官看了简历后说对C++比较熟吧,我这边虽然做Android的,不过你对C++和TCP比较熟悉的话,也是可以的,我说OK,我能接受,准备好了。
1、先说下你最熟悉的排序算法吧?
2、好的,我看你对快速排序、选择排序用的比较多,说下选择排序的思路吧。
3、选择排序你是怎么选出最小数的?选择排序的时间复杂度是多少呢?稳定吗?最坏的情况复杂度是多少呢?
4、好的,你说下数组和指针的区别吧?说四五个区别吧?
5、static 、extern作用域的范围,static变量在堆栈中什么位置呢?
如果static在一个fun函数里面,函数结束后会不会释放?另一个文件能使用和这个static变量一样名字的吗?
6、什么叫进程,什么叫线程,区别是?Linux多进程和多线程区别?
7、你用过循环和递归吧,两则优势和劣势?递归会有哪些危险?
你说的这个问题,你是怎么防止这个递归导致栈溢出的呢?
8、const用吧,int const *p 和 int *const p 两个区别?const 和define和inline特点有哪些,简要说下。
9、说下函数参数、局部变量、返回地址、入口地址存放在哪里?内存中哪个位置?字符串常量、全局变量等放在内存哪个位置 ?
10、你这个项目中用过多线程吧,多线程同步有哪些方法?你最常用的是互斥量对吧,互斥量怎么用的?如果用了互斥量还没有实现线程完全同步,用什么办法?
11、你说下你项目中的这个软件逆向分析用的什么技术吧
12、你有什么问题需要问我的吗?
以上就是一面问的一些问题,大部分都很基础,刚开始很紧张,后来就边想边回答,因为之前他说是做Andriod的,我居然还看了下安卓,结果一个安卓也没问。
===============================================================================================
下面是我面的另外一个B公司部门的面试题,也是一面问题
0、说下你印象最深刻的项目吧,仔细讲讲。
1、同学你好!我看你项目比较丰富,很好,那你在做C++项目遇到过内存泄漏问题吗?你是怎么调试的?用了什么工具呢?
2、内存溢出和内存泄漏有什么区别?
3、会调试Core文件吗?(因为我没做过Linux内核调试,不过我会Dump呀)
我回答:虽然不会core文件,Linux异常抛出的文件,我会windows的dump文件调试,加载符号连接,动态跟踪,查看堆栈。。。。
面试官:Linux调试常用哪些命令,怎么做的?
4、好的,你对TCP熟悉吧,TCP和UDP的区别?
5、socket通信过程你简要说下吧?
6、C++用的比较多吧,那你说下C++如何实现OOP的?相比C语言,特点是什么?
7、C++什么时候用虚函数,析构函数用虚函数的意思是什么?可以不用吗?构造函数可以用虚函数吗?为什么?
9、你说下一些常用的Shell命令吧,比如sed、awk、sort用法?grep命令会用吗?
10、你会用mysql数据库查询吗?比如插入,查询,从一个表中找到前十条?
11、说下堆栈的区别吧?哪些情况会堆栈溢出?
12、说下进程同步有哪些方法吧?
13、你有什么要问我的话?
==============================================================================================
另外一个部门的一面
1、先做一个打动人的自我介绍吧,不要流水账,要能打动人的那种?
2、你对网络这块做的比较多吧,你说下你项目中觉得很赞的那个吧?
3、OK,这个项目是多少人呢,你主要做的哪一段,你觉得自己做得最好的是哪部分?
4、你项目中的网络心跳一般采用什么方法实现呢?心跳包间隔时间是多久呢?为什么是1秒不是0.5秒呢?
5、你项目中主从服务器切换时怎么实现的?你怎么实现切换能无缝?如果在切换中间,用户正在发送数据,会造成什么问题?你该怎么解决?
6、如果我给你一个100万个数据,找出其中最大的10个,你怎么处理?怎么读取到内存中并且处理?
7、你说的那个快速排序方法是怎样的原理?时间复杂度是多少?引入一个变量,计算下处理这个海量数据业务的空间时间复杂度?
8、说下TCP的拥塞吧
9、OS的作业调度会吧?(嗯,会的,操作系统学过),那你说下常见的调度算法有哪些?如果这些算法讲给你爷爷奶奶听,你用最通俗的话讲出来。
10、DNS解析过程是怎样的?DNS污染你关注过吗?大概是怎么一个过程?
11、说个数据结构中的单链表,怎么检查它是否有环?
12、你对这个职位的认识?你觉得大学中哪个课程最有意思呢?
13、你有什么想要问我的吗?
重点考察了TCP协议和对项目细节的考虑。有几个问题也打不上,毕竟对网络底层不是很懂。
=============================================================================================
[二轮面试]
下面也是B公司的二轮面试,主要是一个leader或者负责人面,问题有一定的深度了,不完全是基础。有些问题很有意思。
1、你好,请问下你之前在中科院实习主要做什么工作呢?
2、你为什么想来百度呢?你觉得百度可以给你提供什么东西?
3、我给你出一个题吧(这个题很大,我就不详细说了),其实就是设计一个健壮的软件,从各个方面考察鲁棒性。
(本人回答了30分钟,面试官对我回答很满意,问我:冒昧问一句,你这个阶段是从哪里学到这些安全编码知识的?你是通过什么途径学到的呢?)
4、我对你的实习觉得很有兴趣,你能说下你对新岗位的一些规划吗?你为什么不在老东家一直干?
5、你的那个项目用了什么网络理论呢?后台使用了多线程吗?说说多线程同步有哪些?你最喜欢哪种?
6、你说下你开发过程常用的同步方法?为什么你觉得好?为什么其他的不常用?
7、你懂shellcode攻击吗?你说下这对自己编码有什么影响?
7、基本了解了,你过来的话,会从事XXXX等工作,你有什么问题问我吗?
这个leader很有意思,我觉得人特别好,我很喜欢自己的BOSS有想法,画个大饼!哈哈哈~开玩笑的,其实从言语之中可以听出很nice!
=============================================================================================
下面是我面试的另外一个B公司部门,这个是完全不一样的二面:
因为之前一面过了,预约了二面,远程白板面试,直播写代码!真的是直播写代码!
1、你对C++用的比较多,写一个二叉搜索树吧,要求有三个模块:添加节点、删除节点、查找结点。
我写了接近半个小时,在白板上写代码,类似QQ群直播,面试官可以直接看到我写代码的过程,主要是白板!要想好了才能动笔,不然写出来很不好看。好在本人在中科院实习时候认真看了公司的代码规范,命名规范,写出来的代码虽然不全对,但是规范性还是很不错,最后面试官提了点小问题。
2、继续写代码!这个代码是C风格的,我现在需要你用c++类进行封装,并且暴露出模块的接口。
我瞬间想到了虚函数实现多态,然后很顺利写出来了,面试官也很满意,问了下虚函数用法,构造函数能不能用虚函数,析构函数呢?
3、继续写代码!这个题OK了,我们再来一道题吧,我现在白板上给你画N*N的方格,有一部分有障碍物,请问从A点到B点,绕过障碍物运动,有多少个路径可以走?写一下代码。
我想了下,就是个递归嘛,然后吧伪代码写了出来,不过写的不是很好。
4、你觉得你写的这个代码安全吗?
我说不安全
5、你觉得不安全在哪里,你如何分析这段代码是否安全?
因为是个递归循环,递归风险我也是知道的,栈会溢出,检测递归深度并且返回递归点,而且防止溢出导致的溢出攻击,防止溢出攻击可以....返回ERP点,并且对ERP点进行检测。我很详细说了这个问题,面试官也很满意,说还好。
6、你有什么问题问我吗?
你对我今天表现有什么建议吗?他说是面试这么多同学里面,算是还不错的童鞋了,数据结构的话,灵活应用,处理业务要思考哪种数据结构更加适合业务。
至此,1个小时20分钟的面试结束,整个过程还是蛮愉快的!哈哈哈~
====================================================================================================
三面以及360面:
1、就问了一些简单的入职问题,
2、路由分发原理?
3、TCP/IP协议?
这里就不赘述了。
- 【面筋已到】面试BAT、360实习生有感
- 2016实习生面筋已到~
- 2017暑期实习生-面筋
- 哔哩哔哩动画面试面筋
- 中国民生银行宁波分行暑期实习生面筋
- 腾讯实习生笔试到面试的经历
- 还原已编译的EXE到BAT
- 面筋~
- 面筋
- 百度实习生面试经历(offer'已拿)
- 腾讯2015实习生面试(已拿到offer)
- 2017阿里内推实习生面试经历(已获得offer)
- 2017腾讯内推实习生面试经历(已获得offer)
- 360实习生面试的两道题
- 面试实习生
- 实习生面试
- 实习生面试
- 面试有感~~~
- python3设置默认编码为utf-8
- Docker Registry V1 to V2
- Linux设备驱动中的异步通知与同步I/O
- 基于距离变换的中轴线道路骨架提取算法
- Ubuntu Java Environment
- 【面筋已到】面试BAT、360实习生有感
- CSS3——盒子模型
- Spark Streaming源码解读之Receiver在Driver详解
- D12-Nginx-利用Referer防盗链
- 微服务架构的优势与不足
- eclipse连不上手机和虚拟机
- 全身心的努力
- linux修改ip
- 设计模式前篇面向对象设计原则