知识总结系列2

  1. 进程间通信的方式:socket、管道、消息队列、共享内存(最快的方式)、信号量
  2. 同一个进程中的线程不共享的的部分是:
  3. 哪种方式在读取磁盘上多个顺序数据块时的效率最高?
    • 选择题:选项:中断、DMA、通道、程序直接访问、循环检查io、以上方式都一样;
  4. 零拷贝:参考链接:linux中的零拷贝技术
  5. int i=0; i=i++;System.out.println(i)输出结果为?i++的优先级高,i为1正确答案是0;
    • 参考:i = i++;
    • java中i++的优先级更高,先自增,之后赋值,只是自增前先把i未增加的原始值入栈保存了,增加后将栈内的原始值弹出赋值给i;
  6. 手写快速排序;
  7. 15*4=112;几进制的时候成立:六进制
  8. 手写翻转链表;递归和迭代两种
  9. 数据库:id、姓名、分数,找出排名第三的学生姓名:
  10. java中,List类的sublist,得到某个范围的子list,那么原始list的值改变,他会改变吗?理解sublist方法的内部实现原理;
  11. 简单介绍kafka:从为什么使用消息队列开始,讲解其特性,及它的设计机制
  12. 海量数据问题:大量数中(内存装不下),寻找一个指定值是否在其中:
    • 将大文件利用hash分解成小文件,每个小文件内的数在一定范围内,之后将小文件中的数进行排序,查找target;
    • 更好的方案,用位图bitmap;
    • 要了解位图和布隆过滤器;
    • 这些数中找Top100,使用最小堆;
  13. buffer和cache的区别:
    • 宏观上的比较,buffer:输入输出的缓冲区,累积到一定数量,才flush写磁盘,或者read返回给应用程序;
    • cache:缓存,容量有限,需考虑命中率和缓存替换算法,以及一致性等额外因素;
  14. 最近看什么书、技术博客,学到什么、来源
  15. 本科的课程中哪一门学的最好,怎样做到的?
    • 引出了J2EE课程设计实现的公交管理系统:
    • 类之间的关系,怎么设计,以及数据库表的设计:一个类中存在另一个类的对象,组合,存在多个,则用list等数据结构合理组织,考虑扩展性;数据库表,存在一个关联两个实体表的关系表;
  16. java语言的特性,可否接受工作中使用一门新的语言?
    • 面向对象VS面向过程;
    • 垃圾回收机制,减少代码层面的内存泄漏;
    • 很多封装的类,eg容器类、线程池;
  17. 程序开发完成,即源码到可执行文件之间的过程:
    • 预处理、编译、连接等;
    • 编译执行、解释执行,java属于哪一种;
    • java编译成为字节码,class文件,之后类加载器加载,加载之后会再次编译吗?
    • 调研、理解java代码的编译执行过程;
  18. TCP三次握手、四次挥手,为什么?
  19. 评价自己;
  20. 如何看待加班,当家人不支持的时候;
  21. 设计一个系统;注意考虑哪些???
  22. 举例子说明自己的学习能力强;
  23. 项目中遇到的难题,封装一下,有一个优化的思路;
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值