找工作记流水账总结

好久没写东西了,近一个多月每天都在外面跑,宣讲会笔试面试等等,整天累的跟狗一样,不过收获还是颇多的。

历程:从九月下旬到现在,找工作前我其实根本就没复习过,只看过数据结构中简单的一些东西,写在我的数据结构那一类里面,都是很浅显的东西。传说中的面试必读之奇书《程序面试宝典》我压根就没看过,于是造成了我后面一系列的悲剧,所以找工作前还是有必要复习下基础的的知识,做软件开发要看的知识:C/C++或者java基础知识,网络,操作系统等,其中多线程和网络编程问的很多,基本上IT和互联网的公司中做软件的没有哪一个不用多线程和网络编程吧,可惜我这两者都不熟悉,还是在后来抽空恶补了一下,勉强知道个概念。刚开始C++的很多东西也不懂,毕竟我搞应用的,平时关注的多的是怎么用,至于说原理是怎么回事,那就不太清楚了。举个例子虽然用了大半年qt,但是别人问我信号与槽的机制原理时我就是答不出来的(不过现在了解大概了,吃一堑长一智嘛),很多知识都是笔试或面试中遇到自己不熟悉的回来再看书或网上查资料解决的,9月初我还不是很清楚static,const等关键字是怎么回事,以及C++中继承与多态,现在我基本上能说出个大概了。软件现在封装的越来越凶,底层原理性的东西都实现好了,我们都是把接口拿来用就可以了,所以很少关注底层原理,而公司的一些技术官却很关注这些东西,喜欢拿这些考求职者,我也做过网络编程,你说我怎么做的,用qt里面封装的TCP或UDP类库,每当我这样说时(其实我就是用的封装好了的库,我也知道搞网络编程有本奇书叫《UNIX网络编程》,不过我没关注,没有时间关注底层啊),人家往往投来不屑的眼光然后就不再问了(这意思估计就是库谁不会用,你能实现它才证明你牛逼),好吧,只能说他们牛逼了,谁叫我水呢。以后做项目时得多注意了,知其然,之气所以然。

作为一个码农,自己还是太年轻了,懂的太少了,被鄙视的跟狗一样也在所难免,技术面都过不了,虽然面了近20 家公司(我是海投党,今年形势不好,投简历(含笔试)与面试比例大概5:1的样子,很悲催是吧),但公司的技术面没有一个通过的(真心的,求别黑)。还好最后有公司收留,我也就从了。

历经一个多月,虽然累但还是学到了很多东西,也让我知道了自己的缺点和短板,在这过程中,我不断完善提高自己,扬长补短,不过有些东西不是短时间能提高的,但有些东西是可以避免在犯错的,所以一定要好好总结经验教训。所谓失败是成功之母,好吧,虽然N多次的失败换来一次成功,不过最后能成功也值啊,不是吗,嘿嘿

写一下容易考到的问题(针对C++开发):

编程语言类(C/C++):static,const的用法和作用;指针(这学问大了,各种考法);结构体和类的区别;public,private和protected各自的用法和区别;拷贝构造函数;赋值函数;运算符重载;构造函数和析构函数问题(常见于看代码写输出的题中);继承虚函数(这里面知识就多了,尽量掌握全面,以不变应万变)

QT/MFC类:问的很少,现在很少有做客户端软件的,即使是做客户端软件的,最关注的还是C++基础知识和网络编程及多线程。要问的话比较多的是各自的核心机制

网络:OSI七层模型和TCP/IP模型;各层有哪些哪些协议;分组,路由,交换等概念;具体的协议内容(这就要具体学习了,没有相关经验的话就跪了)

操作系统:进程死锁;进程和线程区别;内存管理

多线程:这个很喜欢问,比如多线程的api,线程同步有哪些方法,线程间的通信等

数据结构算法:最基本的就是链表,排序,查找;然后是二叉树,图还有各种算法,互联网公司尤其喜欢算法

以上几乎是必考的,有时会问下stl的东西,其他的比如数据库,linux甚至更高级的软件技能看职位情况。总之掌握的知识越多越好,越深越好。

 

原文地址:https://www.cnblogs.com/Romi/p/2746083.html