【吉比特】-Java岗-面试总结

一、基础知识

  1. static关键字怎么理解的……
  2. const关键词呢?……那如果const修饰一个函数呢?比如:const{}。遇到过吗?—我在编程中没遇到过,不好意思。
  3. 多态知道吗?……说了静态–函数重载,动态—虚函数)
  4. 虚函数表知道吗?……(每个类一张表,对象掌握指针去访问,可以被继承……)那你知道虚表的底层是怎么实现的吗?—不知道
  5. 内存泄漏知道吗?……那怎么检查泄露呢?……
  6. 模板知道吗?……不知道,只知道vector、map、unorder_map等都是模板
  7. 智能指针知道吗?……(shared_ptr,unique_ptr,weak_ptr)……计数器…….禁止拷贝和赋值操作……那unique_ptr底层是怎么实现的呢为什么就禁止拷贝和赋值呢?(填坑unique_ptr探究)—不知道,那weak_ptr怎么用的呢?……只知道和shared_ptr好像是一起用的。
  8. 深拷贝和浅拷贝知道吗?……
  9. 隐式类型转换知道吗?—不知道,只知道强制类型转换(后来想想似乎课上讲过…)

二、操作系统

  1. 进程通信的方式……(信号量、管道、共享内存、套接字、还有几个不常用的)……你刚才谈到剪贴板,你认为它安全可靠吗?…..不可靠……

好像还有的,忘记了

三、数据结构

  1. 常用排序算法以及复杂度分析一下?冒泡、选择、直插、归并、希尔……
  2. 堆排序了解吗?…….堆的建立复杂度怎么样?……
  3. 二分查找了解吗?复杂度是多少?……
  4. 哈希冲突怎么解决呀?……
  5. 红黑树了解吗?……(和平衡二叉树比较了一下查找、插入和删除复杂度)
  6. 如何判断图的联通性呢?(dfs,bfs,并查集)……那你知道并查集是怎么实现的吗?—不知道,不好意思。
  7. 最小生成树知道吗?—不知道。
  8. 一个文件去除重复行……(我问这个文件大吗?-先从小的说起)…Linux中 sort | uniq > .,awk ‘!x[i++]’ Windows中可以用map来存,逐行查找….那这个文件很大怎么办?大到内存装不下怎么办?-(我问可以给点提示吗?-利用外存)……最后还是认怂,不知道了。

四、设计模式

  1. 知道那些设计模式?……
  2. 组合和继承怎么用?—不会
  3. 单例模式了解吗?
  4. 写一下多线程下的单例模式吧,就写一下getInstance吧!……

五、简短的聊

  1. 你有什么问题吗?—请评价一下我今天的表现吧……
  2. 我又补充了一个lambda表达式……又问了我一个右值引用……不会。
  3. 想做客户端还是服务端……(我说我都可以,我还年轻还能学习……)
  4. 能实习多长时间……

没和我闲聊多少,大概是看我太菜了吧…….

结束。

后记

第一次面试,面试官还不错,会引导你。现在还不知道结果。通过这次面试我也知道,我还有很多需要学习的地方。比如设计模式该好好捡一捡了。图的方面也不熟,

昨晚做了360的笔试,有种想哭的感觉。从前我觉得人和人的智商差距不大,但做过智力题之后,我有所改观了。周六还有腾讯和网易的笔试,加油吧,菜鸡!

发表评论

后才能评论