秋招历程
-
终于,在跑了这么多场宣讲会之后,总算拿到了一个心仪的offer,故此写一篇经验分享,纪念一下秋招历程:
-
lz 方向是C++开发,双非普通一本本科生,靠着队友,水了一个CCPC的铜,省赛什么的就不说了,后期到手的offer也蛮多的,但是都不是些什么大公司,福利待遇也一般,前期也是各种被大公司打击,面试体验贼差,不是说面试官不好,是面试所遇到的问题,真的是感觉大学白读了,不过好在,慢慢积累下来的经验,让自己在后面的笔面试中少走了一些弯路。
-
废话说了那么多,现在呈上干货,题目太多有些问题我就没有写答案了,网上一般都能搜到,技术大佬请忽视:
C++ 基础篇:
- 声明与定义的区别。
- extern 和 static 的区别,什么情况用前者什么情况用后者
- x=x+1,x+=1,x++哪个效率高
- const 和#define 的优缺点
- strcpy和memcpy的区别,现场要求手撕代码
- new 和malloc 的区别
- C++的内存分配
- 构造函数和析构函数可不可以为虚函数,为什么?
- 如何限制一个类对象只能在堆(栈)上分配空间
- strcpy 有什么危险?
- 拷贝构造函数如果用值传递会有什么影响?
- DLLHELL 听说过吗?(lz 还没去补)
- 伙伴内存管理?(一脸懵逼)
- struct的字节对齐
- 智能指针,共享指针(短板。。。)
- 继承和多态区别与联系?(0.0 刚刚想到的)
- strcpy为什么需要返回值char *?
- struct 和 class 区别
数据结构与算法篇:
- stl 相关容器,底层用什么实现的?
- map 和 vector 的迭代器有什么区别?(不懂。。)
- 1亿个数取前k大的数。
- 堆排序,快速排序的原理与时间复杂度
- 一次可以跳一个或者两个楼梯,跳到第n 层的走法有多少种?
- 一次可以跳任意个楼梯,跳到第n 层的走法有多少种?
- 八皇后问题
- A*算法
- 图像像素#RGBV 如何取到固定位的值
- 栈和队列
- 平衡树,红黑树,B树,B+树
- 两个非降序的有序数组,找出他们相同的元素
计网与操作系统篇 :
- TCP 三次握手与四次挥手,各状态解释,time_wait原因
- OSI七层模型以及各层的协议
- IP地址的正则表达式
- 拥塞控制的方法
- 进程间的通信方式
- 如何实现虚拟地址到物理地址的转换
- TCP 与UDP 的区别
- 进程与线程的区别,多进程与多线程的区别
- epoll poll select 的区别
- recv 的错误处理
- linux 的基本指令
游戏技术篇:
- cocos 2d (lz没玩过游戏引擎)
- unity 3d (同上)
- Lua 与C++ 的交互原理
逻辑思维篇:
1.老鼠喝药的问题:
-
就是告诉你,有n瓶药,里面有一瓶是毒药,老鼠喝了就会死,让你用最少的老鼠测出来,到底哪一瓶是毒药。
-
答:利用二进制的思想,将所有的药水按照1-n的编号,对应的老鼠喝下二进制上对应位为1 的药水,观察老鼠死的状态,得到答案,比如说 3瓶药水,1号药水 01 2号药水 10 三号药水 11,那么最少需要2^2=4>3 ,两只老鼠就可以了,一号老鼠喝下2和3 号药水,二号老鼠喝下 1 和 3 号药水,要是一号老鼠挂掉了,二号老鼠没挂,证明毒药水是 10=2 号药水,以此类推。
2.100大小的数组放了1-99 100个数,只有一个数重复了,找出重复的那个数。
- 答:解法很简单,把这100个数加起来,然后逐一剪掉1-99 剩下的那个数就是重复的数。
3.单向链表如何判断是否成环?
- 答:两个指针p1,p2 , 其中p1 每次指向下一个节点,p2每次指向下两个节点(p2=p2->next->next),这样若链表有环,那么p1p2必定在某一点指向同一个节点。
3.1 扩展:并指出成环的点在哪里?
- 答:这个lz 也是在网上看了人家的博客才知道的,当p1p2 指向同一个节点的时候,让p1 指向第一个节点,p2 不动,然后让两个节点以同样的速度指向下一个节点,最后p1p2相遇的地方就是成环的点。
3.2 再扩展: 这个链表的长度是多少?
- 答:上一个问题我们自然可以得到起点到成环点的距离,那么再回到第一个问题的情况,p1p2相遇了,那么再让他们继续走下去,再次相遇所经过的操作数就是这个环的长度了,这两者相加就得到了整个链表的长度。
4.单向链表怎么取到倒数第k个元素?
- 答:设置两个指针p1p2,让p2 先走k步,然后再让p1p2同时走,最后若p2 指向的节点的下一个节点是NULL ,那么输出p1即可。(画个图就明白了)
5.怎么判断两个链表是否有交点?
- 答:假设一个链表长为n,另一个链表长为m,让长的链表的指针先走|n-m|个长度,再让两个链表的指针一起走,最后两个指针相遇的地方就是交点了(画图!画图!)
相关知识学习
面试经验:
-
LZ 本人比较外向,所以一般还是能跟面试官对上话的,但是对话的前提就是技术要达标,一旦面试官问到你不会的题目了,就有点尬聊了,尽量往自己熟悉的方向走,不会的就说不会,或者引导到自己会的方向上去。
-
还有一点。。。。hr 面还是会刷人的,所以记住一点,没有收到电话offer或者邮件offer 前,一切都是假的,乐极生悲!技术宅们也要多开口,冷场的时候适当的说点话,个人感觉,如果面试过程中经常性的冷场就有点凉了。。。。所以,尽量和面试官对上话,但是不要不懂装懂,毕竟面试官也知道你才是个毕业生,很多东西不知道是肯定的,主要是看你的个人基本能力。
-
最后,不管结果是什么,如果公司给你任何回复,你都还是要礼貌的回复一下过去。。LZ 收到好多拒信,都一一回复了。。有些公司可能拒信都给你发几份。
-
自信!自信!自信! 不管咋样,想去的公司就投,不要担心这担心那的,投了才有机会,不然连个笔面试机会都没有,面试笔试过程中遇到的题,尽量记下来,但是千万别作弊!,笔试不允许截屏就别截屏,笔试完就自己回想,没做出来的题上网搜一下题解,问大佬,后续可能还会问到的,所以就算你作弊没被抓,面试问到的时候打不出来,基本就是黑名单了,面试的时候也是,面试完立马把面试遇到的题目记下来,回去补,一面的题目,可能二面还会问。
-
面试的时候多笑笑?,面试没那么可怕,咱们都是双向选择,不要随便一个公司给你offer 你就签了,比较一下,公司选人,你也要选公司撒,回想一下这个公司的面试体验,面试官一般都是你以后工作的同事,所以,考虑清楚再敲定。
-
加油!加油!加油!C先生,冲鸭!!! ???
暂时想到这么多,待更。。。。
转载:https://blog.csdn.net/sinat_35866463/article/details/83316487