• 面试小结


    想换个对技术要求比较高的岗位和有发展的工作环境,当然,得到一个与技能相匹配的薪资也是一个很重要的原因

    面试了8家公司,就总结一下

    面试中重要的几个方面:

    1、技能。作为技术人员,这个是干活的家伙什

    2、沟通。见啥人说啥话,不同的面试人员,要从不同的抽象层面进行沟通

    高级技能:分布式、缓存(一级缓存、二级缓存)、消息中间件(性能、事务、积压时的解决办法)、数据库的分库分表,主从数据库、集群

    高并发、高性能(并发是两个任务共享时间段,分时系统在一个cpu上跑就是并发;并行是两个任务在同一时间发生,即在不同的cpu核心上同时运行)

    行业背景:互联网。现在硬件成本降低,手机、平板都可以进行满足日常生活的所有消费,即这是一个新的消费通道。
    网站或app,直接面向消费者,这样就产生对高并发、高性能的需求

    技术篇:

    作为java作为主技术能的dev,

    jvm:jvm结构、哪些对象需要回收、如何回收、什么时候回收
    多线程:线程的状态转换图、如何启动线程、线程池(如何用、内部如何实现--任务一项技术都不是万能药,只有在合适的地方使用,才能没有意外发生)、线程之间如何通信(多个线程都能操作的东西,都可以作为媒介)

    锁:
    java中的锁:既然有多线程,在共享数据时,肯定要有个协调机制,不然结果就是不可控的。技术是为业务服务的,业务规则都是确定的,一定要有顺序。这个顺序在java中就是使用锁来协调的。

    java中的锁:
    synchronized,ReentrantLock,ReentrantReadWriteLock。如果没有wait的场景,能用synchronize就用。
    如果需要wait或需要对同步可控,则可以使用ReentrantLock;
    如果读多写少的场景,就使用ReentrantReadWriteLock

    还有一种场景就是一个任务中间有些部分可以用多线程解决,只有多个线程都结束,才能进行下一步,这种情况使用invokeAll、CountDownLatch 、CyclicBarrier

    IO:InputStreamReader,OutputStreamWriter,可以设置编码

    消息中间件:各个消息中间件的比较,p2p,jms Publish/Subscribe。消息中间件嘛,数据丢失了怎么处理

    分布式
    nginx--tomcat,这是对请求的分发
    ehcacher、redis缓存的处理,数据库就不单独写了,整体和Cahce写到一块吧。读数据时,Business不用考虑是从缓存中获取,还是从数据库中获取

    Map中get和put的逻辑

    数据库优化的途径

    Spring bean scope,aop,mvc,transaction,

    排序、查找算法

    最后就是沟通了,和管理干部或HR沟通,与技术人员沟通的方式是不同的。

    沟通时,讲些对方世界里的内容,是沟通的前提

    谈薪资,说个高价,再讨价还价也可以。坚持自己的期望也可以。
    找工作这个事,和找女朋友差不多,双方谈妥了,什么都好说;
    如果差点啥,就是降低标准,也不一定能勾搭在一块

    一专多长。一定要有一个能拿得出手的

    Best wishes!

  • 相关阅读:
    本地快速搭建 FTP 服务器
    css 四个角
    时间
    两个json深度对比
    工作常用
    js模块化 中的变量可在局部 中的‘全局共享’
    datatables 的导出button自定义
    css布局技巧
    datables自定义排序
    js判断是否为空 或者全部为空
  • 原文地址:https://www.cnblogs.com/softidea/p/5599313.html
Copyright © 2020-2023  润新知